Conclusions

Building applications for unstable, decentralized networks is one of the endgames for ØMQ. As the cost of computing falls every year, such networks (be they computer electronics or virtual boxes in the cloud) become more and more common. In this chapter we’ve pulled together many of the techniques from the book to build Zyre, a framework for proximity computing over a local network. Zyre isn’t unique; there are and have been many attempts to open this area for applications (ZeroConf, SLP, SSDP, UPnP, DDS). But these all seem to end up too complex or otherwise hard for application developers to build on.

Zyre isn’t finished. Like many of the projects in this book, it’s an icebreaker for others. There are some major areas that are unfinished, which we may address in later editions of this book or versions of the software:

High-level APIs

The message-based API that Zyre offers now is usable but still rather more complex than I’d like for average developers. If there’s one target we absolutely cannot miss, it’s raw simplicity. This means we should build high-level APIs, in lots of languages, that hide all the messaging and come down to simple methods like start, join/leave group, get message, publish file, and stop.

Security

How do we build a fully decentralized security system? We might be able to leverage public key infrastructure for some work, but that requires that nodes have their own Internet access, which isn’t guaranteed. The answer is, as far as we ...

Get ZeroMQ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.