In this particular case it is that I want to provide more than just a end point and a port. A JSON string is put in the TXT record to store associated meta data. If you do not need these metadata, SRV record is perfect.
What's wrong with using something like ZooKeeper? In my understanding, master election, storage of configuration data and the likes are what it's made for; and you can have multiple ZK servers that still contain one single configuration database.
Interesting, a service registry in Ruby. If you already have redis etc. running on your system, why not. But as I already have the dns servers running — for my specific use case — you cannot beat it, because it means just one line per service in my DNS server configuration to have it available.
Very nice, it is by the way using a TXT record to store the information. As pointed out before, an SRV record could be better (but only for udp/tcp for the transport mechanism).
Yes, it's using a TXT record precisely so that we can store any endpoint URL. An alternative using SRV records could of course be easily implemented.
The implementation is very much a 1st cut at the moment (no real error handling, no load balancing of multiple records, and the integration of dns.c needs work) and has not been officially announced, will do so on the zeromq-dev list shortly.
1: https://en.wikipedia.org/wiki/SRV_record