Skip to content
forked from moiot/moha

MoHA(Mobike High Availability): A MySQl high availability supervisor

License

Notifications You must be signed in to change notification settings

xialuo1990/moha

 
 

Repository files navigation

mysql-agent

中文文档

What is mysql-agent?

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.

Quick Start

Development Environment Setup

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

Local Machine Running Environment Setup

make env-up

Create Local Machine Running Agents, AKA Test Code on Local Machine

make docker-agent
make start-agents

Local Machine Running Environment Destroy

make clean-data

Roadmap

Roadmap

License

This project is under the Apache 2.0 license. See the LICENSE file for details.

About

MoHA(Mobike High Availability): A MySQl high availability supervisor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 79.8%
  • C 7.2%
  • Shell 5.3%
  • Makefile 4.1%
  • Python 3.3%
  • Dockerfile 0.3%