mysql-agent provides the high availability(HA) for cross-region MySQL clusters, by automating master failover and fast master switch.
-
High Availability
Master failure detection and automating master failover enables master switch in a few seconds.
-
Brain Split Omission
By configuring proper lease ttl, mysql-agent enables at most one master in the cluster at any time.
-
Cross AZ Topology
Leveraging etcd as the service discovery, mysql-agent prevent its implementation from VIP, so that the cross-AZ MySQL cluster is able to be build via mysql-agent.
-
Manual Master/Slave Switch
Besides the automated failover as described below, mysql-agent provides the ability to switch master manually.
make init
make init does the following
- check and install
dep
- check and install
golint
- check and install
goimports
- add git commit hook
- prepare testing framework
now you can do development on your local machine
make env-up
make docker-agent
make start-agents
make clean-data
This project is under the Apache 2.0 license. See the LICENSE file for details.
- Thanks rxi for the lightweight log framework
- Thanks juju/errors for the error handling framework