Pubsub

Top 23 Pubsub Open-Source Projects

  • dapr

    Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.

    Project mention: Interesting projects using WebAssembly | dev.to | 2024-04-08

    The following two examples are open-source projects maintained by Fermyon with contributions from companies like Microsoft and SUSE. The first is Spin, which allows us to use WebAssembly to create Serverless applications. The second, SpinKube, combines some of the topics I'm most excited about these days: WebAssembly and Kubernetes Operators :) The official website says, "By running applications in the Wasm abstraction layer, SpinKube offers developers a more powerful, efficient, and scalable way to optimize application delivery on Kubernetes." By the way, this post shows how to integrate SpinKube with Dapr, another technology I'm very interested in, and I should write some posts soon.

  • µWebSockets

    Simple, secure & standards compliant web server for the most demanding of applications

    Project mention: I'm open-sourcing my game engine | news.ycombinator.com | 2023-12-19

    They use (uWebSockets)[https://github.com/uNetworking/uWebSockets], which was written in C++, but has an interface to use in NodeJS. It's been really performant for me in my simple tests compared to other popular websocket libs that slow down fairly quickly.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • ntfy

    Send push notifications to your phone or desktop using PUT/POST

    Project mention: How I keep myself Alive using Golang | news.ycombinator.com | 2024-03-04

    Slightly related, but I've also been working on and off for a few years on my own Type 1 Diabetes management solution (https://github.com/algao1/iv3).

    I haven't had time to work on it recently, but it uses ntfy (https://ntfy.sh/) to send alerts and such.

    I was thinking of eventually incorporating some kind of automatic remedial solution eventually to help keep my glucose in range, but haven't had any time to look into it yet.

  • Apache Pulsar

    Apache Pulsar - distributed pub-sub messaging system

    Project mention: Choosing Between a Streaming Database and a Stream Processing Framework in Python | dev.to | 2024-02-10

    Stream-processing platforms such as Apache Kafka, Apache Pulsar, or Redpanda are specifically engineered to foster event-driven communication in a distributed system and they can be a great choice for developing loosely coupled applications. Stream processing platforms analyze data in motion, offering near-zero latency advantages. For example, consider an alert system for monitoring factory equipment. If a machine's temperature exceeds a certain threshold, a streaming platform can instantly trigger an alert and engineers do timely maintenance.

  • emqx

    The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles

    Project mention: Simplest Guide to DIY Your Own LLM Toy in 2024 | dev.to | 2024-04-02

    EMQX (optional): Open-source MQTT broker for IoT, IIoT, and connected vehicles. Used for managing your toys.

  • mitt

    🥊 Tiny 200 byte functional event emitter / pubsub.

    Project mention: Event Bus with Vue 3 and TypeScript | dev.to | 2023-12-04

    Mitt is a small (200 bytes) library that provides the same functionality. It doesn't have many updates, because it's simply perfect and there are not many things to improve there. It gets the job done. Don't be frightened, if in 2 years npm will say it's 2 years old. This library is just perfect with no bloatware. In the worst case, just copy-paste its code to your app.

  • ZeroMQ

    ZeroMQ core engine in C++, implements ZMTP/3.1

    Project mention: Lightweight and fast AMQP (0-9-1) server | news.ycombinator.com | 2024-04-07

    Slightly OT:

    Are ZeroMQ and NanoMQ still widely used (and recommended)?

    https://github.com/zeromq/libzmq

    https://github.com/nanomq/nanomq

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.

    Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.

    What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.

    Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.

    If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.

  • uWebSockets.js

    μWebSockets for Node.js back-ends :metal:

    Project mention: Building Real-Time Next.js Apps with WebSockets and Soketi | dev.to | 2023-12-10

    If you have never heard of Soketi, to give you a brief overview, it is a WebSocket server that was built on top of uWebSockets.js and has great compatibility with Pusher Protocol.

  • deepstream.io

    deepstream.io server

  • realtime

    Broadcast, Presence, and Postgres Changes via WebSockets

    Project mention: A Technical Dive into PostgreSQL's replication mechanisms | news.ycombinator.com | 2024-01-11

    You can LISTEN/NOTIFY. Or you can use logical replication and a custom subscriber.[1] Supabase uses the latter.[2]

    [1]: https://www.postgresql.org/docs/current/logical-replication....

    [2]: https://github.com/supabase/realtime

  • SocketCluster

    Highly scalable realtime pub/sub and RPC framework

    Project mention: Is it a good practice to store web sockets connections on redis? | /r/node | 2023-06-24

    If redis doesn't satisfy your requirements or you're unable to make it work using adaptor, SocketCluster is a great package for this https://socketcluster.io/

  • ejabberd

    Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)

  • Gizmo

    A Microservice Toolkit from The New York Times

    Project mention: GoLang — Simplifying Complexity “The Beginning” | dev.to | 2023-05-27

    . Web backend (with various frameworks available) . Web Assembly (one of them is vugu framework) . Microservices (some frameworks: Go Micro, Go Kit, Gizmo, Kite) . Fragments services (Term mentioned by @jeffotoni in a microservices discussion group) . Lambdas (FaaS example) . Client Server . Terminal applications (using the tview lib) . IoT (some frameworks) . Bots (some here) . Client Applications using Web technology . Desktop using Qt+QML, Native Win Lib (example Qt, Qt widgets, Qml) . Network Applications . Protocol applications . REST Applications . SOAP Applications . GraphQL Applications . RPC Applications . TCP Applications . gRPC Applications . WebSocket Applications . GopherJS (compiles Go to JavaScript)

  • emitter-io

    High performance, distributed and low latency publish-subscribe platform.

  • wisper

    A micro library providing Ruby objects with Publish-Subscribe capabilities

    Project mention: Publish/Subscribe with Sidekiq | dev.to | 2024-02-21

    Wisper: A Ruby gem providing a decoupled communication layer between different parts of an application​ -> I personally dislike wisper. I used it in the past and dislike the way of defining subscribers in a global way. I wanted topics to be arbitrary and each class to define what to subscribe for itself.

  • vernemq

    A distributed MQTT message broker based on Erlang/OTP. Built for high quality & Industrial use cases. The VerneMQ mission is active & the project maintained. Thank you for your support!

    Project mention: New scalable, fault-tolerant, and efficient open-source MQTT broker | news.ycombinator.com | 2023-12-18

    Shameless plug since i'm a contributor but VerneMQ [1] is a pretty programmable one. You have options from using webhooks to writting your plugins in Lua or Erlang/Elixir.

    * https://github.com/vernemq/vernemq

  • Olric

    Distributed in-memory object store. It can be used as an embedded Go library and a language-independent service.

    Project mention: Olric: Distributed, embeddable in-memory data structures in Go | news.ycombinator.com | 2024-02-05
  • liftbridge

    Lightweight, fault-tolerant message streams.

    Project mention: Kafka alternatives | /r/apachekafka | 2023-05-22
  • AutobahnPython

    WebSocket and WAMP in Python for Twisted and asyncio

  • open62541

    Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0

    Project mention: What Cannot Be Skipped About the Skiplist: A Survey of Skiplists and Their Appl | news.ycombinator.com | 2024-03-09

    Zip trees are great!

    For a project I made a version that uses the memory location of the entries to construct the (random) rank on the fly.

    So it’s a binary tree structure that requires the same memory as a linked list (two pointers) only!

    https://github.com/open62541/open62541/blob/master/deps/zipt...

  • OPAL

    Policy and data administration, distribution, and real-time updates on top of Policy Agents (OPA, Cedar, ...) (by permitio)

    Project mention: Top 5 Access Control Features You Should Implement in 2024 | dev.to | 2023-12-27

    Another tool that can help you deploy a Policy as Code-based solution in 2024 is OPAL, the Open Policy Administration Layer. OPAL is an open-source project that provides a comprehensive policy-based service for applications. With one click, you can deploy a full architecture of a Git-based centralized policy store with decentralized policy engines running as a sidecar with your applications. OPAL also provides a unified architecture to sync all the data you need with the policy engines.

  • svix-webhooks

    The enterprise-ready webhooks service 🦀

    Project mention: Show HN: Hatchet – Open-source distributed task queue | news.ycombinator.com | 2024-03-08

    That's exactly why we built Svix[1]. Building webhooks services, even with amazing tools like FastAPI, Celery and Redis is still a big pain. So we just built a product to solve it.

    Hatchet looks cool nonetheless. Queues are a pain for many other use-cases too.

    1: https://www.svix.com

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-08.

Pubsub related posts

Index

What are some of the best open-source Pubsub projects? This list will help you:

Project Stars
1 dapr 23,218
2 µWebSockets 16,699
3 ntfy 16,473
4 Apache Pulsar 13,727
5 emqx 13,161
6 mitt 10,213
7 ZeroMQ 9,256
8 Centrifugo 7,888
9 uWebSockets.js 7,240
10 deepstream.io 7,120
11 realtime 6,451
12 SocketCluster 6,109
13 ejabberd 5,912
14 Gizmo 3,753
15 emitter-io 3,744
16 wisper 3,227
17 vernemq 3,147
18 Olric 3,005
19 liftbridge 2,532
20 AutobahnPython 2,461
21 open62541 2,409
22 OPAL 2,271
23 svix-webhooks 2,052
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com