At today's ZeroMQ meetup in Chicago, a surprising amount of interest was expressed in a Paxos/ZeroMQ side project I've been working on for the past few months. At the request of several of the attendees, I've made the code publicly available on GitHub for the perusal of anyone that's interested.
There are two separate repositories. One repository contains a pure Paxos implementation that is independent of any particular application domain or networking infrastructure. The lack of such a library was the biggest stumbling block for me, personally, when it came to understanding how Paxos worked and how to put it into practice. Hopefully others in the community will find it useful. The second repository uses the pure Paxos library in conjunction with ZeroMQ to implement a simple, distributed key-value database. This project was born out of my frustration with the lack of a simple, embeddable database for which there is no single point of failure. As it stands, the code doesn't quite solve that problem yet but it's definitely a step in the right direction. The current quality of the code is reasonably on par with that of a mid-level alpha release. The basic tests pass, and, so far as I can tell, there are no glaring omissions. It's still pretty early in the development phase though. Perfect, perhaps, for someone interested in the topic to jump in, steal the code, and make it useful. Generally speaking, I prefer to get a bit further down the development and documentation path before releasing code for public consumption. However, given the feedback from the 0MQ meetup, it seemed as though there may be sufficient interest to overlook the poor documentation and as-yet-unremoved debugging print statements. The Paxos implementation (in Python) may be found at: https://github.com/cocagne/paxos The distributed database using the Paxos implementation in conjunction with ZeroMQ (also in Python) may be found at: https://github.com/cocagne/zpax Tom _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
