Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Distributing state across many machines

I'm trying to write up a tool that requires knowledge of the state of other machines in a cluster (local LAN). This is for a network failover/high availability system similar to VRRP and corosync/openais, but I wish to contain more information (such as near real-time speed/performance characteristics) so devices can make more intelligent choices. This means using a protocol more complicated than a predetermine weight-based mechanism: by allowing all clustered machines to see the state of each other, they can communally agree on which is the most suitable to be the master device.

From my searches, I haven't found any (C, C++ or JavaME) libraries that offer a distributed state mechanism. Ideally, I'm looking for something that broadcasts/multicasts each individual machines state periodically so participating machines can build up a global state table and all can see who the master should be. State in this case is arbitrary key/value pairs.

I'd rather not re-invent any wheels so am curious to know if anyone here can point me in the right direction?

like image 564
Mike Avatar asked Sep 05 '11 11:09

Mike


1 Answers

If I were you I'd investigate memcached (memcached.org) or one of the nosql variants.

like image 92
holygeek Avatar answered Sep 19 '22 06:09

holygeek