About Nanomsg
| The latest release of nanomsg is 1.1.4. |
nanomsg is a socket library that provides several common communication patterns. It aims to make the networking layer fast, scalable, and easy to use. Implemented in C, it works on a wide range of operating systems with no further dependencies.
| A new project, nng, is underway as reimplementation of these same protocols. nng is wire compatible with nanomsg, and offers a number of additional advanced capabilities. Although nng itself is still in pre-release state, we are encouraging people using or considering using nanomsg to look at nng. |
The communication patterns, also called "scalability protocols", are basic blocks for building distributed systems. By combining them you can create a vast array of distributed applications. The following scalability protocols are currently available:
-
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
-
PIPELINE - aggregates messages from multiple sources and load balances them among many destinations
-
SURVEY - allows to query state of multiple applications in a single go
Scalability protocols are layered on top of the transport layer in the network stack. At the moment, the nanomsg library supports the following transports mechanisms:
-
INPROC - transport within a process (between threads, modules etc.)
-
IPC - transport between processes on a single machine
-
TCP - network transport via TCP
-
WS - websockets over TCP
The library exposes a BSD-socket-like C API to the applications.
It is licensed under the MIT/X11 license.
