30 open-source projects similar to nanomsg/nng, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
nanomsg is a distributed messaging middleware and scalable messaging library designed for moving data between machines and processes. It functions as a socket-based communication framework that routes data across different network transport layers. The library implements scalable messaging patterns, specifically request-reply and publish-subscribe, to handle high volumes of data across distributed systems. It provides tools for network performance benchmarking to quantify messaging throughput and latency. The framework supports distributed message routing and inter-process communication usin
Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state. The project distinguishes itself through a distributed actor system capable of operating across multiple cluster nodes with location-transparent registries and actor state migration. It utilizes a work-stealing fiber scheduler to manage millions of lightweight threads, allowing tasks to suspend during non-blocking I/O operations without stalling underlying system threads
This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the necessary tools for Go applications to exchange messages using publish-subscribe and request-reply patterns, as well as specialized clients for managing persistent streams and distributed storage. The library includes a JetStream client for durable message streaming and replay, a Key-Value store client for managing distributed state with versioning and watchers, and an Object Store client for the storage and retrieval of large binary files via chunked delivery. The implementation
This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
The AWS Java SDK is a programmatic interface and client library for managing and interacting with AWS cloud infrastructure and services using the Java language. It serves as an API wrapper that connects applications to cloud storage, databases, and compute resources through a standardized set of Java classes. The library provides a non-blocking I/O model and future-based request handling to support high-throughput asynchronous cloud operations. It includes mechanisms for serverless performance optimization to reduce initial startup times and cold starts in those environments. The SDK manages
The AWS SDK for Java is a set of client libraries providing a programmatic interface for managing cloud resources and services through the Java language and JVM. It serves as a cloud service client library for executing synchronous and asynchronous API calls to infrastructure components. The library is distinguished by its use of non-blocking asynchronous I/O and a reactive cloud client model, utilizing publishers and subscribers to stream data and manage backpressure. It employs a modular design to decouple services and reduce binary size, while utilizing immutable builders for thread-safe c
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Websocat is a specialized set of command-line tools for WebSocket communication, acting as a client, server, and stream processor. It provides a terminal-based interface for connecting to WebSocket servers, hosting secure WebSocket servers, and bridging data between WebSockets and other network transports. The project distinguishes itself by functioning as a bidirectional network relay, allowing the routing of data between WebSocket streams, TCP sockets, UNIX sockets, and standard system input and output. It includes specialized implementations for SOCKS5 and HTTP proxying, as well as a strea
This is a Rust library and peer-to-peer toolkit that implements the WebRTC protocol. It provides a network stack for establishing direct audio, video, and data streaming between peers to achieve low-latency real-time communication. The project is designed as an async-compatible network stack that maintains compatibility across different asynchronous runtimes and executors. It further functions as a deterministic protocol testing tool by separating communication logic from network I/O, allowing protocol behavior to be verified without using live network traffic.
Mpush is a real-time message push system and encrypted messaging gateway designed to deliver instant notifications to mobile and web clients. It functions as a session management service and a network traffic controller, utilizing persistent network connections to ensure updates reach users without manual screen refreshing. The system includes an HTTP reverse proxy that routes external domain requests to internal IP addresses with integrated connection timeout management. It maintains communication stability through a persistent session manager that tracks client heartbeats and session expira
This project is a blockchain node software implementation that maintains a decentralized ledger using the Ouroboros proof-of-stake consensus protocol. It provides a complete environment for operating a distributed record, including a cryptocurrency wallet backend and a peer-to-peer network layer. The system is distinguished by its use of a UTXO-based ledger model and a diffusion-based state synchronization layer for node communication. It integrates a Public Key Infrastructure with TLS-authenticated communication to secure inter-node traffic and employs hierarchical deterministic key derivati
Lnd is a full implementation of the Lightning Network protocol, functioning as a Bitcoin Layer 2 daemon that manages payment channels and settles transactions on the Bitcoin blockchain. It serves as an off-chain payment processor and a cryptographic wallet manager, enabling the execution of instant, scalable transactions through a network node. The project distinguishes itself through a focus on secure node networking and programmatic control. It provides gRPC and REST API servers for automating payment workflows and utilizes macaroon-based authorization to delegate granular permissions via c
libzmq is a C++ based asynchronous messaging engine and networking core designed for routing non-blocking messages between distributed nodes. It functions as a distributed message queue that implements the ZMTP wire-format framing protocol to standardize how data moves across different network transport layers. The library provides a multi-transport abstraction that allows a single interface to route data across TCP, IPC, and in-process memory. It incorporates a cryptographic layer to encrypt and authenticate transmissions between nodes and employs topology-based messaging patterns, such as p
Ockam is a zero-trust networking framework designed to secure data transit between distributed applications using an identity-based network overlay. It provides the primitives necessary to establish mutually authenticated and end-to-end encrypted connections, removing the reliance on traditional network-layer security. The project is distinguished by its use of attribute-based access control and verifiable credentials to manage trust at scale. It implements cryptographic identity rotation to maintain identity continuity and integrates with hardware-backed key management systems to secure priv
IPFS is a peer-to-peer hypermedia protocol and content-addressed storage system that identifies data by cryptographic hashes rather than network locations. It enables the creation of a decentralized web by organizing files and directories as directed acyclic graphs of linked content identifiers. The project differentiates itself through the use of a distributed hash table for locating peers and a system of signed records to map human-readable names to changing content. It also provides HTTP gateways that translate standard web requests into peer-to-peer queries, allowing decentralized data to
Lettuce is a Redis client library for Java that provides synchronous, asynchronous, and reactive programming models for interacting with Redis databases. It supports standalone, cluster, sentinel, pub/sub, and search operations through a single thread-safe connection model that handles command execution without blocking the calling thread. The library distinguishes itself through its reactive streams integration with Project Reactor, enabling non-blocking, backpressure-aware data processing with Mono and Flux types. It offers cluster slot routing that transparently handles MOVED and ASK redir
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a multi-tenant event streaming platform designed to route data streams for asynchronous communication between producers and consumers. The system distinguishes itself through geo-replication, synchronizing data across multiple geographic regions to ensure high availability and low latency. It implements a multi-tenant architecture that provides isolation and resource management for millions of independent topics. The platform covers high-throughput data streaming and event-driven da
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
pyzmq provides Python language bindings for ZeroMQ, serving as an asynchronous messaging library for distributed data transport and inter-process communication. It enables the implementation of non-blocking communication patterns between distributed components and local processes. The toolkit focuses on high-performance data exchange through features such as zero-copy buffer access, which reads incoming messages directly into pre-allocated memory to avoid data duplication. It also supports the management of multipart messages and the use of state-shadowing object wrappers to track socket life
rust-libp2p is a modular peer-to-peer networking library written in Rust, implementing the libp2p specification. It provides a composable stack of transport, security, and discovery protocols that can be mixed and matched to build decentralized applications, with a central swarm manager coordinating all active connections, protocol negotiation, and peer lifecycle. The library distinguishes itself through a pluggable transport abstraction that supports TCP, QUIC, WebSocket, WebRTC, and WebTransport, enabling cross-platform operation across browsers, mobile devices, and servers. It secures ever
Meteor is a full-stack JavaScript application platform and real-time application server. It provides a unified development environment for building web and mobile applications using a single language for both the client and server. The platform functions as a cross-platform app framework, allowing a single codebase to be deployed across web, iOS, Android, and desktop environments. It differentiates itself through a real-time server that automatically synchronizes data between servers and clients to enable live updates. The system includes a unified development command-line interface to manag
Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data store and distributed message broker, implementing the Redis protocol to manage complex data structures in memory. The system provides a geospatial indexing engine for proximity-based queries and distance calculations. It ensures high availability and data durability through master-slave replication and write-ahead logging. The project covers a wide range of capabilities including the management of strings, hash maps, lists, and sorted sets. It supports distributed data clusterin
deepstream.io is an open-source realtime server that synchronizes JSON records, events, and remote procedure calls across clients and backend services. It functions as a realtime data sync server, event pub/sub server, record database server, and RPC server, all within a single platform. The server authenticates and authorizes every message using multiple strategies including JWT, HTTP, and file-based credentials, with a declarative permission language controlling access to records, events, and RPCs at a granular level. The platform distinguishes itself through its combination of realtime dat
This project is a comprehensive educational resource and learning roadmap for mastering the Node.js runtime. It provides a structured curriculum that guides developers from basic syntax through advanced asynchronous patterns and professional architectural practices. The resource covers the internal architecture of the engine, specifically explaining how the event loop and thread pool handle non-blocking I/O and concurrency. It includes tutorials on the evolution of asynchronous flow control, moving from callbacks and promises to modern syntax patterns. The guide also addresses various applic
Autoware is a modular autonomous driving stack and open-source platform for advanced driver assistance systems. It functions as an integrated operating environment that manages the full pipeline from sensor data processing to vehicle actuation, utilizing the ROS 2 robotics framework for distributed communication and hardware abstraction. The system provides a comprehensive software architecture to enable autonomous driving across various vehicle platforms. It coordinates perception, planning, and control systems to operate vehicles without human intervention. The platform covers several core
SuperSocket is a .NET socket server framework designed for building network servers and custom communication protocols. It functions as a pipeline-based network engine and a server for TCP, UDP, and WebSocket protocols. The framework provides a socket session manager to track and control the lifecycle of network connections and client request states. It enables the implementation of bespoke communication standards and the development of socket proxies. The system handles concurrent client connections and processes network traffic through a structured architecture of pipeline filters, middlew
This project is a reference implementation and architectural blueprint for building distributed systems using the go-zero framework. It provides a complete microservices boilerplate and a standardized project layout to bootstrap API and RPC services with consistent folder structures. The implementation distinguishes itself by providing a comprehensive guide and codebase for service discovery, rate limiting, and circuit breaking. It demonstrates an observability stack integration that coordinates distributed tracing, metrics collection, and centralized logging across multiple microservices. T
go-cloud is a toolkit of cloud-agnostic libraries that provide portable Go interfaces for interacting with common cloud services. It enables multi-cloud application development by decoupling business logic from specific provider API implementations. The project utilizes a driver-based system to map generic interface calls to vendor-specific requests. This allows applications to switch between different cloud backends for blob storage, relational databases, and asynchronous publish-subscribe messaging without changing the core application code. Beyond storage and messaging, the toolkit includ