README.md 4.1 KB
Newer Older
S
Shlomi Noach 已提交
1 2 3
![](https://github.com/openark/orchestrator/workflows/CI/badge.svg)
![](https://github.com/openark/orchestrator/workflows/upgrade/badge.svg)
![](https://github.com/openark/orchestrator/workflows/system%20tests/badge.svg)
S
Shlomi Noach 已提交
4
[![downloads](https://img.shields.io/github/downloads/openark/orchestrator/total.svg)](https://github.com/openark/orchestrator/releases) [![release](https://img.shields.io/github/release/openark/orchestrator.svg)](https://github.com/openark/orchestrator/releases)
S
Shlomi Noach 已提交
5

6
# orchestrator [[Documentation]](https://github.com/openark/orchestrator/tree/master/docs)
S
Shlomi Noach 已提交
7

S
Shlomi Noach 已提交
8

9
![Orchestrator logo](https://github.com/openark/orchestrator/raw/master/docs/images/orchestrator-logo-wide.png)
S
Shlomi Noach 已提交
10

S
Shlomi Noach 已提交
11
`orchestrator` is a MySQL high availability and replication management tool, runs as a service and provides command line access, HTTP API and Web interface. `orchestrator` supports:
S
Shlomi Noach 已提交
12

S
shlomi-noach 已提交
13
#### Discovery
S
snoach 已提交
14

S
Shlomi Noach 已提交
15
`orchestrator` actively crawls through your topologies and maps them. It reads basic MySQL info such as replication status and configuration.
S
shlomi-noach 已提交
16

D
Denis Andrejew 已提交
17
It provides you with slick visualization of your topologies, including replication problems, even in the face of failures.
S
shlomi-noach 已提交
18

S
shlomi-noach 已提交
19
#### Refactoring
S
shlomi-noach 已提交
20

S
Shlomi Noach 已提交
21
`orchestrator` understands replication rules. It knows about binlog file:position, GTID, Pseudo GTID, Binlog Servers.
S
shlomi-noach 已提交
22

S
Shlomi Noach 已提交
23
Refactoring replication topologies can be a matter of drag & drop a replica under another master. Moving replicas around is safe: `orchestrator` will reject an illegal refactoring attempt.
S
shlomi-noach 已提交
24

G
George Miroshnykov 已提交
25
Fine-grained control is achieved by various command line options.
S
shlomi-noach 已提交
26

S
shlomi-noach 已提交
27
#### Recovery
S
shlomi-noach 已提交
28

S
Shlomi Noach 已提交
29
`orchestrator` uses a holistic approach to detect master and intermediate master failures. Based on information gained from the topology itself, it recognizes a variety of failure scenarios.
S
shlomi-noach 已提交
30

S
Shlomi Noach 已提交
31
Configurable, it may choose to perform automated recovery (or allow the user to choose type of manual recovery). Intermediate master recovery achieved internally to `orchestrator`. Master failover supported by pre/post failure hooks.
S
shlomi-noach 已提交
32

S
Shlomi Noach 已提交
33
Recovery process utilizes _orchestrator's_ understanding of the topology and of its ability to perform refactoring. It is based on _state_ as opposed to _configuration_: `orchestrator` picks the best recovery method by investigating/evaluating the topology at the time of
S
shlomi-noach 已提交
34 35
recovery itself.

S
shlomi-noach 已提交
36
#### The interface
S
shlomi-noach 已提交
37

S
Shlomi Noach 已提交
38
`orchestrator` supports:
S
shlomi-noach 已提交
39 40 41 42

- Command line interface (love your debug messages, take control of automated scripting)
- Web API (HTTP GET access)
- Web interface, a _slick_ one.
S
snoach 已提交
43

S
Shlomi Noach 已提交
44
![Orcehstrator screenshot](docs/images/orchestrator-topology-8-screenshot.png)
S
snoach 已提交
45

46
#### Additional perks
S
snoach 已提交
47

48 49 50 51 52 53
- Highly available
- Controlled master takeovers
- Manual failovers
- Failover auditing
- Audited operations
- Pseudo-GTID
S
shlomi-noach 已提交
54 55 56
- Datacenter/physical location awareness
- MySQL-Pool association
- HTTP security/authentication methods
57
- There is also an [orchestrator-mysql](https://groups.google.com/forum/#!forum/orchestrator-mysql) Google groups forum to discuss topics related to orchestrator
S
shlomi-noach 已提交
58 59
- More...

60
Read the [Orchestrator documentation](https://github.com/openark/orchestrator/tree/master/docs)
S
snoach 已提交
61

S
Shlomi Noach 已提交
62 63
Authored by [Shlomi Noach](https://github.com/shlomi-noach):

S
Shlomi Noach 已提交
64
- 2020- as https://github.com/openark/orchestrator
65
- 2016-2020 at [GitHub](http://github.com) as https://github.com/github/orchestrator
S
Shlomi Noach 已提交
66 67
- 2015 at [Booking.com](http://booking.com) as https://github.com/outbrain/orchestrator
- 2014 at [Outbrain](http://outbrain.com) as https://github.com/outbrain/orchestrator
S
Shlomi Noach 已提交
68

69 70 71
#### Related projects

- Orchestrator Puppet module: https://github.com/github/puppet-orchestrator-for-mysql
72 73
- Orchestrator Chef Cookbook (1): https://github.com/silviabotros/chef-orchestrator
- Orchestrator Chef Cookbook (2): https://supermarket.chef.io/cookbooks/orchestrator
74
- Nagios / Icinga check based on Orchestrator API: https://github.com/mcrauwel/go-check-orchestrator
75
- Light Python wrapper for Orchestrator API: https://github.com/stirlab/python-mysql-orchestrator
76

77 78 79 80
#### Developers

Get started developing Orchestrator by [reading the developer docs](/docs/developers.md). Thanks for your interest!

S
Shlomi Noach 已提交
81 82 83
#### License

`orchestrator` is free and open sourced under the [Apache 2.0 license](LICENSE).