Skip to content
MySQL replication topology management and HA
Branch: master
Clone or download
shlomi-noach Merge pull request #771 from jordanwheeler/wait-for-sql-thread
Wait for SQL thread to catch up instead of aborting the failover
Latest commit 7d5a648 Mar 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Remove gh-ost content from issue template Dec 26, 2018
conf
docker
docs Merge branch 'master' into wait-for-sql-thread Mar 13, 2019
etc/init.d add /etc/profile.d/orchestrator usage Mar 21, 2018
go Merge branch 'master' into wait-for-sql-thread Mar 13, 2019
resources
script add check for shasum in build script Mar 6, 2019
tests/integration Merge branch 'master' into instance-tag Jan 14, 2019
vagrant remove redeploy-internal-db Apr 8, 2018
vendor updated go-sql-driver/mysql Feb 19, 2019
.dockerignore Fix docker build after c419404 Jan 4, 2017
.gitignore ./bin in gitignore Oct 18, 2018
.go-version added .go-version hint, requires 1.5 Jan 6, 2016
.project
.travis.yml experiment: build in script, expecting failure Jan 13, 2019
Dockerfile
LICENSE added copyright notes Nov 22, 2016
README.md fix typo in README.md Mar 3, 2019
RELEASE_VERSION release v3.0.14 Jan 16, 2019
Vagrantfile return rsync shared folder back Mar 29, 2018
build.sh Add --depends 'jq >= 1.5' tp fpm builds Dec 10, 2018
bump_release_version_and_tag renamed variable Mar 6, 2017

README.md

orchestrator [Documentation]

build status downloads release

Orchestrator logo

orchestrator is a MySQL high availability and replication management 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 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
  • Coupled with orchestrator-agent, seed new/corrupt instances
  • There is also an orchestrator-mysql Google groups forum to discuss topics related to orchestrator
  • More...

Read the Orchestrator documentation

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

Related projects

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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.