Thrift and ZooKeeper
Thrift provides a great framework for developing and accessing remote services. It allows developers to create services that can be consumed by any application that is written in a language that there are Thrift bindings for (which is…just about every mainstream one, and more). This is great for systems that are heterogeneous – for example, you could write a user authentication service in Java, but call it from your Ruby web application....