Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What is the meaning of such system ?

Why do people need something like zookeeper or LogCabin ?

How does a coordinator came to play ?

I don't know much about distribute system, but I would love to learn more...



You end up needing consensus for a lot of fault-tolerant systems that need to provide consistent results. For example, if your system allows users to choose their own usernames, and you're trying to guarantee that all usernames are unique, and your system needs to automatically deal with server failures, then I think you also need consensus.

Another way to think about it is that consensus gets you the equivalent of a compare-and-swap operation in a distributed setting. Just as compare-and-swap is useful for building synchronization primitives with shared memory, consensus is useful for building synchronization primitives across a network.

[1] https://en.wikipedia.org/wiki/Compare-and-swap


When you are building distributed systems often you need a way to coordinate between nodes. You can use a single node to do it, but then you have a single point of failure.

In case of Zookeeper you can utilize various recipes, like here: http://curator.apache.org/curator-recipes/index.html

You can even build more advanced systems on top of it:

https://bookkeeper.apache.org/index.html

https://cwiki.apache.org/confluence/display/BOOKKEEPER/HedWi...


Consensus can be used for a variety of problems including membership, ordering, and atomic commits.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: