title: zookeeper vs redis server sync
body: <p>I have a small cluster of servers I need to keep in sync.  My initial thought on this was to have one server be the "master" and publish updates using redis's pub/sub functionality (since we are already using redis for storage) and letting the other servers in the cluster, the slaves, poll for updates in a long running task.  This seemed to be a simple method to keep everything in sync, but then I thought of the obvious issue:  What if my "master" goes down?  That is where I started looking into techniques to make sure there is always a master, which led me to reading about ideas like leader election.  Finally, I stumbled upon <a href="https://zookeeper.apache.org/" rel="nofollow">Apache Zookeeper</a> (through python binding, "<a href="https://github.com/Knewton/pettingzoo-python" rel="nofollow">pettingzoo</a>"), which apparently takes care of a lot of the fault tolerance logic for you.  I may be able to write my own leader selection code, but I figure it wouldn't be close to as good as something that has been proven and tested, like Zookeeper.</p>
  
  <p>My main issue with using zookeeper is that it is just another component that I may be adding to my setup unnecessarily when I could get by with something simpler.  Has anyone ever used redis in this way?  Or is there any other simple method I can use to get the type of functionality I am trying to achieve?</p>
  
  <p>More info about pettingzoo (<a href="http://www.slideshare.net/devondjones/a-python-petting-zoo" rel="nofollow">slideshare</a>)</p>