Skip to content

Instantly share code, notes, and snippets.

@jbheron
Created February 23, 2016 19:29
Show Gist options
  • Select an option

  • Save jbheron/9473154a36b094047178 to your computer and use it in GitHub Desktop.

Select an option

Save jbheron/9473154a36b094047178 to your computer and use it in GitHub Desktop.
### Introducing the Arbitrator
This release introduces a high availability (HA), zero downtime deployment default. The new topology adds a lightweight [arbitrator node](http://galeracluster.
com/documentation-webpages/arbitrator.html) to the two node MySQL cluster. The addition of the arbitrator node builds on the native strength of horizontal scaling by exposing the MariaDB/Galera combination for HA support.
While the typical minimal HA configuration includes [three](cluster-behavior.md#avoid-an-even-number-of-nodes) full-size MySQL nodes, the new default reduces some of that overhead with the lightweight arbitrator node. The presence of the arbitrator avoids the possibility of a [split-brain condition](http://galeracluster.
com/documentation-webpages/weightedquorum.
html#split-brain-condition) by participating in [weighted quorum elections](http://galeracluster.
com/documentation-webpages/weightedquorum.
html)
The arbitrator addition enables high availability by allowing the cluster to continue running in case one node becomes unavailable, and allows zero-downtime rolling upgrades without causing the cluster any concern.Specifically, a third node reduces the possibility of network partitioning, eliminating the best case two-node solution to stop accepting database traffic in the event that two nodes lose communication with each other.
MySQL still scales best vertically, not horizontally, so as you scale your deployment, you need spend only twice, not three times the cost. On many public clouds, large instances can get very expensive. The arbitrator requires only a lightweight VM. In Amazon, we recommend a [T2 small](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html) **with no sacrifice in performance**. See our benchmarking work below.
You'll find instructions to generate a default manifest in the [README.md](README.md), and further instructions to migrate between 1, 3, and 2+1 node configurations in the [arbitrator documentation](arbitrator.md).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment