mist - A distributed, tag-based pub-sub service for modern web applications and container-driven cloud

  •        7

Mist is a simple pub/sub based on the idea that messages are tagged. To subscribe, a client simply constructs a list of tags that it is interested in, and all messages that are tagged with all of those tags are sent to that client. A client can not only be a subscriber (with multiple active subscriptions), but also a publisher. Clients will receive messages for any tags they are subscribed, except message publish by themselves.

https://github.com/nanopack/mist

Tags
Implementation
License
Platform

   




Related Projects

shaman - Small, lightweight, api-driven dns server.

  •    Go

Small, clusterable, lightweight, api-driven dns server. The connection string looks like scribble://localhost/path/to/data/store.

Pulsar - Distributed pub-sub Messaging System from Yahoo

  •    Java

Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API. It is horizontally scalable (Millions of independent topics and millions of messages published per second), Strong ordering and consistency guarantees, Low latency , REST API, Geo Replication and lot more.

Apache Pulsar - Distributed pub-sub messaging platform

  •    Java

Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API. It has run in production at Yahoo scale for over 3 years, with millions of messages per second across millions of topics. It is Horizontally scalable, Low latency, High throughput, Multi-tenancy, Geo-replication, Transparent batching of messages, Transparent handling of partitioned topics, REST API for provisioning, admin and stats and lot more.

WampSharp - A C# implementation of WAMP (The Web Application Messaging Protocol)

  •    CSharp

The implementation supports WAMPv2 and includes both Json and MsgPack support, and both Router (Broker and Dealer roles) and Client (Publisher/Subscriber and Callee/Caller) roles. See here for a list of implemented advanced profile features.The implementation also supports WAMPv1, both client and server roles.

apollo-client-devtools - :christmas_tree: Chrome extension for Apollo Client developer tools

  •    Javascript

This repository contains the Apollo Client Devtools Chrome extension.If you are running Apollo Client 2.0, the dev tools require at least apollo-client@2.0.0-rc.2 and react-apollo@2.0.0-beta.0.


chat - Instant messaging server - backend in Go, client-side binding in Java and Javascript

  •    Go

Instant messaging server. Backend in pure Go (license GPL 3.0), custom client-side binding in Java including Android and Javascript (license Apache 2.0), as well as gRPC client support for C++, C#, Go, Java, Node, PHP, Python, Ruby, Objective-C. Wire transport is JSON over websocket or gRPC over plain TCP (long polling is also available). Persistent storage RethinkDB.Tinode is meant as a replacement for XMPP. Overall it's a lot like open source WhatsApp or Telegram.

gs-messaging-stomp-websocket - Using WebSocket to build an interactive web application :: Learn how to the send and receive messages between a browser and the server over a WebSocket

  •    Java

This guide walks you through the process of creating a "hello world" application that sends messages back and forth, between a browser and the server. WebSocket is a very thin, lightweight layer above TCP. It makes it very suitable to use "subprotocols" to embed messages. In this guide we’ll dive in and use STOMP messaging with Spring to create an interactive web application. You’ll build a server that will accept a message carrying a user’s name. In response, it will push a greeting into a queue that the client is subscribed to.

yoke - Postgres high-availability cluster with auto-failover and automated cluster recovery.

  •    Go

Yoke is a Postgres redundancy/auto-failover solution that provides a high-availability PostgreSQL cluster that's simple to manage. Note: The ini file can be named anything and reside anywhere. All Yoke needs is the /path/to/config.ini on startup.

Faye - Simple pub/sub messaging for the web

  •    Javascript

Faye is a set of tools for simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser. It is based on the Bayeux protocol.

wsify - Just a tiny, simple and real-time self-hosted pub/sub messaging service

  •    Go

I wanted to create a tiny solution that can replace pusher and similar services and learning more about the realtime world, so I dispatched this project.

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.

iodine - iodine - HTTP / Websocket Server with Pub/Sub support, optimized for Ruby MRI on Linux / BSD

  •    C

Iodine is ideal for Linux/Unix based systems (i.e. macOS, Ubuntu, FreeBSD etc'), which are ideal for evented IO (while Windows and Solaris are better at IO completion events, which are totally different). Iodine is a C extension for Ruby, developed and optimized for Ruby MRI 2.2.2 and up... it should support the whole Ruby 2.0 MRI family, but Rack requires Ruby 2.2.2, and so iodine matches this requirement.

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.

nchan - Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE), powered by Nginx

  •    C

Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server. It can be configured as a standalone server, or as a shim between your application and hundreds, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via Redis. All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many Nginx servers with Redis. Messages are published to channels with HTTP POST requests or Websocket, and subscribed also through Websocket, long-polling, EventSource (SSE), old-fashioned interval polling, and more.

go-nsq - The official Go package for NSQ

  •    Go

The official Go package for NSQ.See godoc and the main repo apps directory for examples of clients built using this package.

Pawl - Asynchronous WebSocket client

  •    PHP

This is the object used to interact with a WebSocket server. It has two methods: send and close. It has two public properties: request and response which are PSR-7 objects representing the client and server side HTTP handshake headers used to establish the WebSocket connection. This is the object received from a WebSocket server. It has a __toString method which is how most times you will want to access the data received. If you need to do binary messaging you will most likely need to use methods on the object.

grpcc - A gRPC cli interface for easy testing against gRPC servers

  •    Javascript

grpcc is a flexible command-line client for any gRPC server for quick and easy testing of APIs. grpcc is written in nodejs but can talk to a gRPC service written in any language. By default, grpcc will attempt to make a secure connection to the service. If you need an insecure connection, you can pass in the -i flag.

TCPMessageServer

  •    DotNet

Simple TCP Client/Server used to pass an object between client and server and tranfer files between Client/Server