Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 2.85 KB

File metadata and controls

60 lines (43 loc) · 2.85 KB

replication-manager

replication-manager is a high availability solution to manage MariaDB 10.x and MySQL & Percona Server 5.7 replication topologies.

The main features are:

  • Replication monitoring
  • Topology detection
  • Slave to master promotion (switchover)
  • Master election on failure detection (failover)
  • Replication best practice enforcement
  • Target to up to zero loss in most failure scenarios
  • Multiple cluster management
  • Proxy integration (ProxySQL, MaxScale, HAProxy, Spider)

Quick start

The container runs with http-server enabled by default and exposed on port 10001. You can either mount a configuration file or use environment variables with REPLICATION_MANAGER_* prefixes and skip config reads.

Example usage, deploying a container with a config file in the working directory:

docker run -d -p 10001:10001 -v $(pwd)/config.toml:/etc/replication-manager/config.toml --name repman signal18/replication-manager:latest

Example usage, deploying with env-only config:

docker run -d -p 10001:10001 \
  -e REPLICATION_MANAGER_DEFAULT_SKIP_CONFIG=true \
  -e REPLICATION_MANAGER_DEFAULT_HTTP_SERVER=true \
  -e REPLICATION_MANAGER_DEFAULT_HTTP_BIND_ADDRESS=0.0.0.0 \
  -e REPLICATION_MANAGER_DEFAULT_HTTP_PORT=10001 \
  -e REPLICATION_MANAGER_CLUSTER1_DB_SERVERS_HOSTS=db1,db2 \
  -e REPLICATION_MANAGER_CLUSTER1_DB_SERVERS_CREDENTIAL=root:admin \
  -e REPLICATION_MANAGER_CLUSTER1_REPLICATION_CREDENTIAL=root:admin \
  --name repman signal18/replication-manager:2.0

The container also includes the replication-manager client. You can run commands non-interactively such as:

docker exec -ti repman replication-manager-cli switchover

Production Deployments

As Replication Manager is a network application, it is wise to deploy it in existing Docker installations with user-defined networks, using orchestrators such as Compose, Kubernetes or Swarm.

The source repository provides a working example for Compose.

License

replication-manager is released under the GPLv3 license. (complete licence text)

It includes third-party libraries released under their own licences. Please refer to the vendor directory for more information.

It also includes derivative work from the go-carbon library by Roman Lomonosov, released under the MIT licence and found under the graphite directory. The original library can be found here: https://github.com/lomik/go-carbon

Copyright and Support

Replication Manager for MySQL and MariaDB is developed and supported by SIGNAL 18 SARL.