orchestrator

by openark

openark / orchestrator

MySQL replication topology management and HA

3.8K Stars 629 Forks Last release: 3 months ago (v3.2.3) Apache License 2.0 5.0K Commits 32 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

downloads release

orchestrator [Documentation]

Orchestrator logo

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:

Discovery

orchestrator
actively crawls through your topologies and maps them. It reads basic MySQL info such as replication status and configuration.

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

Refactoring

orchestrator
understands replication rules. It knows about binlog file:position, GTID, Pseudo GTID, Binlog Servers.

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.

Fine-grained control is achieved by various command line options.

Recovery

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.

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.

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 recovery itself.

The interface

orchestrator
supports:
  • Command line interface (love your debug messages, take control of automated scripting)
  • Web API (HTTP GET access)
  • Web interface, a slick one.

Orcehstrator screenshot

Additional perks

  • Highly available
  • Controlled master takeovers
  • Manual failovers
  • Failover auditing
  • Audited operations
  • Pseudo-GTID
  • Datacenter/physical location awareness
  • MySQL-Pool association
  • HTTP security/authentication methods
  • There is also an orchestrator-mysql Google groups forum to discuss topics related to orchestrator
  • More...

Read the Orchestrator documentation

Authored by Shlomi Noach:

  • 2020- as https://github.com/openark/orchestrator
  • 2016-2020 at GitHub as https://github.com/github/orchestrator
  • 2015 at Booking.com as https://github.com/outbrain/orchestrator
  • 2014 at Outbrain as https://github.com/outbrain/orchestrator

Related projects

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

Developers

Get started developing Orchestrator by reading the developer docs. Thanks for your interest!

License

orchestrator
is free and open sourced under the Apache 2.0 license.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.