I've refactored this into parts and added the client side code I think we need. I've also added ZeroMQ as an alternative transport.
Branch is at lp:~stub/+junk/gpgverify Random thoughts: ZeroMQ seems to do what it says on the tin. Unlike HTTP, we need to define our own protocol. This gives us more flexability, but also more to think about. HA story is the same (by putting servers behind HAProxy), or better (we could plug in our own broker which whatever features we can dream up, such as persistent queues or services registering themselves instead of hard coded addresses and ports). ZeroMQ doesn't need Apache. With ZeroMQ, we can write and test our own HA and failover stories. This is very difficult when HA and failover requires HAProxy. But HAProxy probably provides a good enough story for us, is already production ready and has a decent admin interface. ZeroMQ services need ipfilter configuration to open the port. HTTP services need HAProxy & Apache love, and possibly the ipfilter config too if Apache is not local. If we are putting together complex services, I think ZeroMQ would be a win. But at least at this stage, I think we want simple services and the HTTP services are less of a surprise. I personally am leaning towards whatever is easiest to deploy and maintain, as from the dev side there seems little real difference. If we abstract out the transport in a similar way to my example code, there will be no difference. ZeroMQ would have a superior deployment story if we put the effort into a common broker and had services register themselves as they come up and down, but not by much since there isn't much work adding the new service to the HAProxy configuration. -- Stuart Bishop <stu...@stuartbishop.net> http://www.stuartbishop.net/ _______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp