MySQL replication topology management and HA
Go JavaScript Shell CSS Other
Latest commit a60aebc Jan 18, 2017 @shlomi-noach shlomi-noach committed on GitHub Merge pull request #57 from github/graceful-takeover-repoint-replica
Graceful takeover repoint replica
Permalink
Failed to load latest commit information.
.github adding Issue/PR templates Dec 6, 2016
conf Added URLPrefix option to run orchestrator on non-root web path. Oct 20, 2016
docker Disable setting ListenAddress since docker exposes a static port Jan 4, 2017
docs Merge branch 'master' into fix_documentation Jan 14, 2017
etc/init.d etc/init.d/orchestrator.bash: ensure we wait for orchestrator to stop… Aug 1, 2016
go Merge branch 'master' into graceful-takeover-repoint-replica Jan 18, 2017
resources Merge branch 'master' into annonimized-show-lags Jan 16, 2017
script updated docs, packagecloud and go get Dec 7, 2016
tests/integration added tests for -c clusters-alias Dec 29, 2016
vagrant changed import path to github/orchestrator Dec 2, 2016
vendor changed import path to github/orchestrator Dec 2, 2016
.dockerignore Fix docker build after c419404 Jan 4, 2017
.gitignore including go-sql-driver back to source Aug 11, 2016
.go-version added .go-version hint, requires 1.5 Jan 6, 2016
.project refactored to go gettable; Fixed ChangeMAsterTo bug in unresolve (hid… Jul 3, 2015
Dockerfile Fix docker build after c419404 Jan 4, 2017
LICENSE added copyright notes Nov 22, 2016
README.md image is on master branch Dec 8, 2016
RELEASE_VERSION fix agent's HTTP client Nov 3, 2016
Vagrantfile Vagrant: Discover Cluster with Orchestrator May 16, 2016
build.sh Merge branch 'master' into build_sh_fix Jan 1, 2017
bump_release_version_and_tag bump_release_version_and_tag: automatically update the release versio… Aug 26, 2016

README.md

orchestrator [Documentation]

Orcehstrator logo

orchestrator is a MySQL replication topology management and visualization tool, allowing for:

Discovery

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

It provides 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.

Find 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

More

  • 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
  • Coupled with orchestrator-agent, seed new/corrupt instances
  • More...

Read the Orchestrator documentation

Authored by Shlomi Noach at GitHub. Previously at Booking.com and Outbrain

License

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