HA could support preferred Mongo servers

Bug #1310453 reported by John A Meinel
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Won't Fix

Bug Description

In doing some scale testing (and knowing how our internal model works), whatever machine is the current master is going to have much higher load that the other API servers.
This is because all Mongo requests (read and write) occur on the master server (due to ConsistencyMode = Strong).
Since the other machines *do* help spread API load and mostly just provide high-availability, it would be nice if you could spec them as lower power machines. The primary concern I can see with doing this is that they will all have equal voting priority, so while you might have a really strong machine, it would move all of the load onto a weaker machine.

MongoDB supports the ability to give master priority to one machine. We could probably model this with something like:
  juju ensure-availability --prefer 0,1
or --preferred-masters, etc.
And then when we set up the replicaSet with reasonable priority. We would configure the non-preferred machines with a priority of say 1, and then the preferred ones with priority 2.

Says that whenever a higher priority machine has caught up with the oplog, a vote will be triggered so that it can become the new master.
That matches the behavior I think we really want. We have nodes that can become master should the current master fail, but will always be secondary as long as the good machine is available.
That should make it possible to have HA and good scalability and efficiency by being able to focus resources on the machine that will need it.

Tags: ha performance
John A Meinel (jameinel)
summary: - HA could be nice to have non-homogenous API servers
+ HA could support non-homogenous API servers
summary: - HA could support non-homogenous API servers
+ HA could support preferred Mongo servers
Changed in juju-core:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.