README.md 2.6 KB
Newer Older
M
Mantas Šidlauskas 已提交
1
orchestrator [[Manual]](https://github.com/outbrain/orchestrator/wiki/Orchestrator-Manual)
S
Shlomi Noach 已提交
2 3
============

S
Shlomi Noach 已提交
4
`orchestrator` is a MySQL replication topology management and visualization tool, allowing for:
S
snoach 已提交
5

S
shlomi-noach 已提交
6
#### Discovery
S
snoach 已提交
7

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

It provides with slick visualization of your topologies, including replication problems, even in the face of failures.

S
shlomi-noach 已提交
12
#### Refactoring
S
shlomi-noach 已提交
13

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

Refactoring replication topologies can be a matter of drag & drop a replica under another master. Moving slaves around becomes
S
Shlomi Noach 已提交
17
safe: `orchestrator` will reject an illegal refactoring attempt.
S
shlomi-noach 已提交
18 19 20

Find grained control is achieved by various command line options.

S
shlomi-noach 已提交
21
#### Recovery
S
shlomi-noach 已提交
22

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

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

S
Shlomi Noach 已提交
29
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 已提交
30 31 32
recovery itself.


S
shlomi-noach 已提交
33
#### The interface
S
shlomi-noach 已提交
34

S
Shlomi Noach 已提交
35
`orchestrator` supports:
S
shlomi-noach 已提交
36 37 38 39

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

M
Mantas Šidlauskas 已提交
41
![Orcehstrator screenshot](https://raw.githubusercontent.com/wiki/outbrain/orchestrator/images/orchestrator-simple.png)
S
snoach 已提交
42

S
shlomi-noach 已提交
43
#### More
S
snoach 已提交
44

S
shlomi-noach 已提交
45 46 47 48 49 50 51
- Auditing
- Supports Pseudo-GTID
- Datacenter/physical location awareness
- Maintenenace/downtime server states
- MySQL-Pool association
- Run as a service; orchestrator multi-service HA
- HTTP security/authentication methods
M
Mantas Šidlauskas 已提交
52
- When working with [orchestrator-agent](https://github.com/outbrain/orchestrator-agent), seed new/corrupt instances
S
shlomi-noach 已提交
53 54
- More...

M
Mantas Šidlauskas 已提交
55
Read the [Orchestrator Manual](https://github.com/outbrain/orchestrator/wiki/Orchestrator-Manual) for comprehensive documentation.
S
snoach 已提交
56

57
Authored by [Shlomi Noach](https://github.com/shlomi-noach) at [GitHub](http://github.com). Previously at [Booking.com](http://booking.com) and [Outbrain](http://outbrain.com)
S
Shlomi Noach 已提交
58 59 60 61

#### License

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