Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Nanomsg, the Next Gen ZeroMQ, is Here

DZone's Guide to

Nanomsg, the Next Gen ZeroMQ, is Here

· Integration Zone ·
Free Resource

WSO2 is the only open source vendor to be named a leader in The Forrester Wave™: API Management Solutions, Q4 2018 Report. Download the report now or try out our product for free.

Martin Sustrik, one of the co-creators of ZeroMQ, has been working on a new messaging library called Nanomsg to surpass the lightweight power of ZeroMQ.  You could almost think about Nanomsg as ZeroMQ–the sequel.

nanomsg library is a high-performance implementation of several "scalability protocols". Scalability protocol's job is to define how multiple applications communicate to form a single distributed application. Implementation of following scalability protocols is available at the moment:

   •   PAIR - simple one-to-one communication
   •   BUS - simple many-to-many communication
   •   REQREP - allows to build clusters of stateless services to process user requests
   •   PUBSUB - distributes messages to large sets of interested subscribers
   •   FANIN - aggregates messages from multiple sources
   •   FANOUT - load balances messages among many destinations
   •   SURVEY - allows to query state of multiple applications in a single go

-- nanomsg.org


This week, Sustrik introduced the very first public release of Nanomsg – alpha version 0.1.

Nanomsg supports INPROC, IPC and TCP protocols.  It is also released under the more permissive MIT-license, which is a big part of why Sustrik wanted to break off from the ZeroMQ project. 

Check out his announcement on freelists.org, which outlines the new features compared to ZeroMQ. 

Read the WSO2 Methodology for Agility to see how you can transform your integration projects from semi-agile to a scalable continuous agile approach.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}