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. Learn more →
Top 23 Go Pubsub Projects
-
dapr
Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
-
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.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
Olric
Distributed in-memory object store. It can be used as an embedded Go library and a language-independent service.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
-
centrifuge
Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.
-
golongpoll
golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients :smiley: :coffee: :computer:
-
Bus
🔊Minimalist message bus implementation for internal communication with zero-allocation magic on Emit (by mustafaturan)
-
kiara
Backend-agnostic, lightweight pub/sub library which makes it easy for Go applications to communicate with each other.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Diagrid Catalyst is a Developer API platform providing a brand-new approach to distributed application development. Using the Catalyst APIs, powered by the Dapr open source project, developers can overcome the complexity of rewriting common software patterns and achieve higher productivity by offloading infrastructure concerns from their code to Catalyst.
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.
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, 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.
. 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)
Project mention: Olric: Distributed, embeddable in-memory data structures in Go | news.ycombinator.com | 2024-02-05
Project mention: Centrifugo v5 - new major release of real-time messaging server written in Go | /r/golang | 2023-06-29BTW, Centrifugo is based on https://github.com/centrifugal/centrifuge Go library which may provide much more control and flexibility for Gophers than a standalone server and can be embedded to any Go app leveraging all Centrifugo client SDKs.
KubeMQ can be a good choice because it supports both Queue and Stream patterns, which are simple to use and deploy in microservices.
Project mention: Embeddable, Distributed In-Memory datastore compatible with Redis clients | news.ycombinator.com | 2024-04-04
Built something similar in Go with a friend a few years ago.
https://github.com/thibauts/styx
Project mention: Bunnify: AMQP events publishing and consuming library so you don't have to create another one at your workplace | /r/golang | 2023-05-06This is cool thanks for sharing. Not exactly the same but watermill has an amqp middleware that works well too https://github.com/ThreeDotsLabs/watermill-amqp
Go Pubsub related posts
-
FBI using push notification tokens to identify anonymous users
-
Governments spying on Apple, Google users through push notifications
-
Show HN: Pvent – a CLI tool for sending messages across message brokers
-
2U Quiet & Efficient DIY Server Build
-
Planning for Low Energy Self Hosted Docker
-
I built a Plane Spotter in 120 secs with ChatGPT
-
Any free app ( or a one time purchas, maybe low price)to send a simple notification to another android device when using tasker? Or any recommendation on how to communicate between two devices?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 1 May 2024
Index
What are some of the best open-source Pubsub projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | dapr | 23,293 |
2 | ntfy | 16,646 |
3 | Centrifugo | 7,914 |
4 | Gizmo | 3,753 |
5 | emitter-io | 3,747 |
6 | Olric | 3,008 |
7 | liftbridge | 2,532 |
8 | beaver | 1,511 |
9 | centrifuge | 982 |
10 | layotto | 799 |
11 | golongpoll | 650 |
12 | mangos | 645 |
13 | kubemq-community | 624 |
14 | pubsub | 412 |
15 | fpGo | 341 |
16 | Bus | 328 |
17 | kiara | 142 |
18 | frugal | 139 |
19 | EchoVault | 129 |
20 | goes | 118 |
21 | styx | 60 |
22 | watermill-amqp | 53 |
23 | pulse | 42 |
Sponsored