Displaying 1 to 20 from 104 results

axon - message-oriented socket library for node.js heavily inspired by zeromq

Axon is a message-oriented socket library for node.js heavily inspired by zeromq. For a light-weight UDP alternative you may be interested in punt.Backed by node-amp-message you may pass strings, objects, and buffers as arguments.

primus - :zap: Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in

Primus, the creator god of transformers but now also known as universal wrapper for real-time frameworks. There are a lot of real-time frameworks available for Node.js and they all have different opinions on how real-time should be done. Primus provides a common low level interface to communicate in real-time using various real-time frameworks.If you deploy your application behind a reverse proxy (Nginx, HAProxy, etc.) you might need to add WebSocket specific settings to its configuration files. If you intend to use WebSockets, please ensure that these settings have been added. There are some example configuration files available in the observing/balancerbattle repository.

Gizmo - A Microservice Toolkit from The New York Times

Gizmo Microservice Toolkit toolkit provides packages to put together server and pubsub daemons with the following features like Standardized configuration and logging, Health check endpoints with configurable strategies, Configuration for managing pprof endpoints and log levels, Structured logging containing basic request information, Useful metrics for endpoints, Graceful shutdowns, Basic interfaces to define our expectations and vocabulary and lot more.

socketcluster - Highly scalable realtime framework

SocketCluster is a fast, highly scalable HTTP + realtime server engine which lets you build multi-process realtime servers that make use of all CPU cores on a machine/instance. It removes the limitations of having to run your Node.js server as a single thread and makes your backend resilient by automatically recovering from worker crashes and aggregating errors into a central log on each host. SC can also auto-scale across multiple hosts on top of Kubernetes; see SCC guide: https://github.com/SocketCluster/socketcluster/blob/master/scc-guide.md.There are two ways to install SocketCluster.

emqttd - EMQ - Erlang MQTT Broker

EMQ (Erlang MQTT Broker) is a distributed, massively scalable, highly extensible MQTT message broker written in Erlang/OTP. EMQ is fully open source and licensed under the Apache Version 2.0. EMQ implements both MQTT V3.1 and V3.1.1 protocol specifications, and supports MQTT-SN, CoAP, WebSocket, STOMP and SockJS at the same time.

vernemq - A distributed MQTT message broker based on Erlang/OTP

VerneMQ is a high-performance, distributed MQTT message broker. It scales horizontally and vertically on commodity hardware to support a high number of concurrent publishers and consumers while maintaining low latency and fault tolerance. VerneMQ is the reliable message hub for your IoT platform or smart products. VerneMQ is an Apache2 licensed distributed MQTT broker, developed in Erlang.

event-gateway - The Event Gateway combines both API Gateway and Pub/Sub functionality into a single event-driven experience

Use the Event Gateway right now, by running the Event Gateway Example Application locally, with the Serverless Framework. The Event Gateway is a L7 proxy and realtime dataflow engine, intended for use with Functions-as-a-Service on AWS, Azure, Google & IBM.

wisper - A micro library providing Ruby objects with Publish-Subscribe capabilities

Note: Wisper was originally extracted from a Rails codebase but is not dependant on Rails. Please also see the Wiki for more additional information and articles.

PubSubJS - Dependency free publish/subscribe for JavaScript

PubSubJS is a topic-based publish/subscribe library written in JavaScript. PubSubJS has synchronisation decoupling, so topics are published asynchronously. This helps keep your program predictable as the originator of topics will not be blocked while consumers process them.

NSQ - A realtime distributed messaging platform in 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.

poxa - Pusher server implementation compatible with Pusher client libraries.

Open Pusher implementation compatible with Pusher libraries. It's designed to be used as a single registered app with id, secret and key defined on start. Poxa is a standalone elixir server implementation of the Pusher protocol.

Aeron - Efficient reliable unicast and multicast transport protocol

Aeron is an efficient reliable unicast and multicast transport protocol. The Aeron protocol is designed to be run directly over many different types of transmission media, including shared memory/IPC, InfiniBand/RDMA, UDP, TCP, Raw IP, HTTP, WebSocket, BLE, etc.

hemera - 🔬 Writing reliable & fault-tolerant microservices with https://nats.io

Hemera (/ˈhɛmərə/; Ancient Greek: Ἡμέρα [hɛːméra] "day") is a small wrapper around the NATS driver. NATS is a simple, fast and reliable solution for the internal communication of a distributed system. It chooses simplicity and reliability over guaranteed delivery. We want to provide a toolkit to develop micro services in an easy and powerful way. We provide a pattern matching RPC style. You don't have to worry about the transport. NATS is powerful.Hemera has not been designed for high performance on a single process. It has been designed to create lots of microservices doesn't matter where they live. It choose simplicity and reliability as primary goals. It act together with NATS as central nervous system of your distributed system. Transport independency was not considered to be a relevant factor. In addition we use pattern matching which is very powerful. The fact that Hemera needs a broker is an argument which should be taken into consideration when you compare hemera with other frameworks. The relevant difference between microservice frameworks like senecajs, molecurer is not the performance or modularity its about the complexity you need to manage. Hemera is expert in providing an interface to work with lots of services in the network, NATS is the expert to deliver the message at the right place. Hemera is still a subscriber of NATS with some magic in routing and extensions. We don't have to worry about all different aspects in a distributed system like routing, load-balancing, service-discovery, clustering, health-checks ...

emittery - Simple and modern async event emitter

It's only ~200 bytes minified and gzipped. I'm not fanatic about keeping the size at this level though.Emitting events asynchronously is important for production code where you want the least amount of synchronous operations.

Mediator.js - An implementation of the mediator pattern for asynchronous events in Javascript

Mediator is a simple class that allows you to register, unregister, and call subscriber methods to help event-based, asyncronous programming. Its purpose is to make the usage of WebSockets, Ajax calls, DOM events, or any other asynchronous operations easy to maintain and test. Mediator has no dependencies on any other libraries.