nanomsg - High Performance Messaging Library

  •        2015

The nanomsg library is a simple high-performance implementation of several "scalability protocols". These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket. It aims to make the networking layer fast, scalable, and easy to use.

http://nanomsg.org/
https://github.com/nanomsg/nanomsg

Tags
Implementation
License
Platform

   




Related Projects

ZeroMQ - Messaging Library

  •    C++

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

nanomsg.rs - Nanomsg library for Rust

  •    Rust

Nanomsg is a modern messaging library that is the successor to ZeroMQ, written in C by Martin Sustrik and colleagues. The nanomsg library is licensed under MIT/X11 license. "nanomsg" is a trademark of 250bpm s.r.o. The basis of Nanomsg is a Socket. Each socket can be of a certain type. The type of a socket defines it's behaviour and limitations (such as only being able to send and not receive).

node-nanomsg - Node.js binding for nanomsg

  •    Javascript

This is the default way of installing node-nanomsg. Behind the scenes, nanomsg library will be downloaded, built and statically linked, providing the simplest and easiest way to start working. Starts a new socket. The nanomsg socket can bind or connect to multiple heterogeneous endpoints as well as shutdown any of these established links.

nanomsg-python - nanomsg wrapper for python with multiple backends (CPython and ctypes) should support 2/3 and Pypy

  •    Python

Python library for nanomsg which does not compromise on usability or performance. Like nanomsg this library is still experimental, the API is fairly stable but if you plan to use it at this time be prepared to get your hands dirty, fixes and enhancements are very welcome.

go-nanomsg - Language bindings for nanomsg in Go (Golang)

  •    Go

Package nanomsg adds language bindings for nanomsg in Go. nanomsg is a high-performance implementation of several "scalability protocols". See http://nanomsg.org/ for more information. This is a work in progress. nanomsg is still in a beta stage. Expect its API, or this binding, to change.


nng - nanomsg-next-generation -- light-weight brokerless messaging

  •    C

This project is a rewrite of the Scalability Protocols library known as libnanomsg, and adds significant new capabilities, while retaining compatibility with the original. It may help to think of this as "nanomsg-next-generation".

message-io - Fast and easy-to-use event-driven network library.

  •    Rust

message-io is a fast and easy-to-use event-driven network library. The library handles the OS socket internally and offers a simple event message API to the user. It also allows you to make an adapter for your own transport protocol following some rules, delegating the tedious asynchrony and thread management to the library. Managing sockets is hard because you need to fight with threads, concurrency, full duplex, encoding, IO errors that come from the OS (which are really difficult to understand in some situations), etc. If you make use of non-blocking sockets, it adds a new layer of complexity: synchronize the events that come asynchronously from the Operating System.

libuv - Cross platform Asynchronous I/O

  •    C

libuv is a multi-platform support library with a focus on asynchronous I/O. It was primarily developed for use by Node.js, but it’s also used by Luvit, Julia, pyuv, and others. Its feature includes event loop backed by epoll, kqueue, IOCP, event ports. Asynchronous TCP and UDP sockets, Asynchronous DNS resolution, Thread pool, Signal handling and lot more.

mangos-v1 - The pure golang implementation of nanomsg (version 1, frozen)

  •    Go

NOTE: This is the legacy version of mangos (v1). Users are encouraged to use mangos v2 instead if possible. No further development is taking place on v1. Package mangos is an implementation in pure Go of the SP ("Scalability Protocols") messaging system. This makes heavy use of go channels, internally, but it can operate on systems that lack support for cgo.

netmq - A 100% native C# implementation of ZeroMQ for .NET

  •    CSharp

NetMQ is a 100% native C# port of the lightweight messaging library ZeroMQ.NetMQ extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. NetMQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols, and more.

RabbitMQ - Robust messaging for applications

  •    Erlang

RabbitMQ is a messaging broker - an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until received. It features include reliability, high availability, Clustering and Federation. RabbitMQ ships with an easy-to use management UI that allows you to monitor and control every aspect of your message broker. There are RabbitMQ clients for almost any language you can think of.

ActiveMQ

  •    Java

Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns provider. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4.

zeromq4-x - ØMQ 4.x stable release branch - bug fixes only

  •    C++

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.This repository is used for making stable releases. Please do not send pull requests here unless they are specifically and only for this fork. Rather, send them to libzmq/master. Issues with test cases may be back ported to this repository by its maintainers.

Rebus - :bus: Simple and lean service bus implementation for .NET

  •    CSharp

This repository contains Rebus "core". You may also be interested in one of the many integration libraries.Rebus is a lean service bus implementation for .NET. It is what ThoughtWorks in 2010 called a "message bus without smarts" - a library that works well as the "dumb pipes" when you need asynchronous communication in your microservices that follow the "smart endpoints, dump pipes" principle.

Citadel

  •    C

Citadel is a collaboration suite (messaging and groupware). It provides support for Email, Calendaring/Scheduling, Address books, Bulletin boards, Mailing List Server, Instant Messaging, Wiki, Multiple domain support.

Hornetq - Enterprise messaging

  •    Java

HornetQ is the new ultra high performance enterprise grade messaging system from JBoss community. It is a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It offers server replication and automatic client failover to eliminate lost or duplicated messages in case of server failure. It also provides a comprehensive management API to manage & monitor servers.

RocketMQ - Distributed messaging and streaming data platform

  •    Java

Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

Celery - Distributed Task Queue

  •    Python

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).

LibTML Messaging Suite - Network Messaging Library in C++

  •    C++

TML Messaging Suite is a network messaging library for rapid development of extensible and scalable interfaces. Based on the peer to peer standard protocol BEEP (Blocks Extensible Exchange Protocol), defined in RFC3080 and RFC3081 libTML is suitable for many use cases and communication patterns. The libtml-c project is a C++ implementation of a library with a C interface on top of the Vortex beepcore.

NSQ - A realtime distributed messaging platform in Go

  •    Go

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. It scales horizontally, without any centralized brokers. Built-in discovery simplifies the addition of nodes to the cluster.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.