Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Top 23 Go Messaging Projects
-
https://nsq.io/ is also very reliable, stable, lightweight, and easy to use.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Project mention: Testing Microservices: Message Isolation for Kafka, SQS, More | dev.to | 2025-04-07
NATS, with its lightweight and high-performance design, offers features well-suited for sandbox testing. We can leverage NATS queue groups, which function similarly to Kafka consumer groups.
-
Project mention: Open-Im-Server: An Open-Source, Scalable Instant Messaging Platform | news.ycombinator.com | 2024-09-30
-
Tinode
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
-
Project mention: Supercharging Go with Asynq: Scalable Background Jobs Made Easy | dev.to | 2025-02-27
Asynq is a Redis-backed task queue that simplifies async task processing in Go.
-
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: Centrifugo v6 released – major update of scalable WebSocket server written in Go | news.ycombinator.com | 2025-01-16Hi everyone!
I'd like to share that we've just released Centrifugo v6 - a major update of scalable WebSocket server. The release addresses some usability pain points and adds nice features and more observability.
Centrifugo is an open-source standalone server written in Go – https://github.com/centrifugal/centrifugo. Centrifugo can instantly deliver messages to application online users connected over supported transports (WebSocket, HTTP-streaming, Server-Sent Events (EventSource), GRPC, WebTransport). Centrifugo has the concept of a channel – so it's a user-facing PUB/SUB server. Everything implemented in a language-agnostic way – so Centrifugo can be used in combination with any frontend or backend stack.
These days we also provide Centrifugo PRO version – and trying to find a balance to be sustainable.
The server is based on the open-source Centrifuge library - https://github.com/centrifugal/centrifuge, so many improvements mentioned in Centrifugo v6 release blog post (even those for Centrifugo PRO) may be used just as a library in Go application.
We provide real-time SDKs for popular client environments – for browser and mobile development – they connect to both Centrifuge library based servers and Centrifugo server.
Generally Centrifugal ecosystem provides a good alternative to Socket.IO and cloud services like Pusher.com and Ably.com
Will be happy to answer on any questions
-
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
Project mention: Watermill – Building event-driven applications the easy way in Go | news.ycombinator.com | 2025-01-31
-
-
-
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)
-
Project mention: Mercure: A WebSocket alternative for server-sent events | news.ycombinator.com | 2025-01-01
The site offers a little more detail:
https://mercure.rocks/
Basically its server sent events with some stuff on top:
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent...
One big benefit of SSE is that you can put them behind a CDN, making scaling a lot easier. No idea about what Mercure brings there, though.
-
-
APNs2
⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.
-
-
-
SmoothMQ: a drop-in replacement for SQS. https://github.com/poundifdef/smoothmq
I am looking to build 4 main things:
1. Better compatibility with SQS' different endpoints
-
-
teamgram-server
Unofficial open source mtproto server written in golang with compatible telegram client.
-
-
amqp091-go
An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp`
amqp091-go Repo
-
beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
-
Uniqush-Push
Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Messaging discussion
Go Messaging related posts
-
Testing Microservices: Message Isolation for Kafka, SQS, More
-
Supercharging Go with Asynq: Scalable Background Jobs Made Easy
-
Watermill – Building event-driven applications the easy way in Go
-
Show HN: Find your "holy grail piece", as a service
-
Mercure: A WebSocket alternative for server-sent events
-
realtime chat with bot using data-star
-
Show HN: Watermill – A Go library for building event-driven applications
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 17 Apr 2025
Index
What are some of the best open-source Messaging projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | nsq | 25,211 |
2 | NATS | 16,844 |
3 | open-im-server | 14,563 |
4 | Tinode | 12,408 |
5 | Asynq | 10,992 |
6 | Centrifugo | 8,899 |
7 | gorush | 8,311 |
8 | watermill | 8,277 |
9 | machinery | 7,698 |
10 | NATS | 5,825 |
11 | Jocko | 4,961 |
12 | Mercure | 4,885 |
13 | notify | 3,323 |
14 | APNs2 | 3,071 |
15 | go-nsq | 2,621 |
16 | liftbridge | 2,587 |
17 | smoothmq | 2,195 |
18 | gopush-cluster | 2,077 |
19 | teamgram-server | 1,961 |
20 | EventBus | 1,850 |
21 | amqp091-go | 1,728 |
22 | beaver | 1,566 |
23 | Uniqush-Push | 1,547 |