I’ve got two main things on my plate this week:
First, ZooKeeper is proving to be a lousy tool for service discovery when you’ve got servers running across multiple data centers and AWS availability zones due to its CP v. AP trade-off, so I’m working to replace it with a Eureka-based solution. This in turn has got me thinking about the feasibility of writing my own Eureka workalike in a language other than Java.
Second, I’ve started work on an auto-caching PyPI server suitable for storing your personal packages, plus automatically mirroring anything you use from the official PyPI server. I hope to release this under a BSD license in the next six weeks or so.
Have you looked at etcd? ZooKeeper vs. Doozer vs. Etcd
My understanding is that etcd makes exactly the same trade-offs as ZooKeeper when it comes to partition tolerance. Am I missing something about its design?
A server library to use WebRTC’s data channels to communicate with browsers. I made an initial pass in python getting the ICE/STUN discovery done and getting DTLS packets. I discovered that the DTLS support in OpenSSL wasn’t covered by pyOpenSSL and it also wasn’t written for nonblocking servers (the handshake blocks). I decide would rather implement on Erlang/Elixir, so I’m porting the STUN code over then hoping to work on the DTLS support in Erlang.