Cloned from launchpad blueprint https://blueprints.launchpad.net/ceilometer/+spec/taskflow-alarm-partitioning.
In the long term, it could be a replacement for the PartitionedAlarmService. It uses the same basic idea: a master node keeps track of the alarms to be evaluated, but instead of distributing a slice of the alarms to each node, it just maintains a pool from which the other nodes can pick some work. This pool is managed by taskflow, for instance by using a multi-node Zookeeper configuration.
The election of the master node works as in the PartitionCoordinator.
In this service, the nodes are not "passive" (they do not wait for work to be given to them); they are "active" (they ask for work when they have nothing more to do).
Specification URL (additional information):