Top 23 Go Messaging Projects
-
Project mention: Nsq - A realtime distributed messaging platform | reddit.com/r/github_trends | 2022-05-20
-
Project mention: Ask HN: What are some examples of elegant software? | news.ycombinator.com | 2022-05-02
I've been pleased by NATS (https://nats.io/). I like how it builds its functionality on layers of abstractions, from the most basic (pub/sub), to request/response on top of that, to key/value and persistent streams on top of that. The CLI is simple to use and you can learn it in an afternoon, but it's robust enough to deploy.
-
SonarLint
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.
-
Tinode
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
Project mention: Tinode chat: Instant messaging platform with inline images, attachments and anonymous users | reddit.com/r/u_VeronikaKerman | 2021-09-09 -
-
Open-IM-Server
OpenIM: Instant messaging open source project based on go built by IM technology experts. Backend in Go.(由IM技术专家打造的基于 Go 实现的即时通讯(IM)项目,从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。)
Project mention: Open-IM-Server: An Open Source Instant Messaging Server | reddit.com/r/programming | 2021-11-06 -
-
I use this one: https://github.com/RichardKnop/machinery
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
Project mention: Centrifugo – self-hosted alternative to public real-time messaging clouds like pusher.com, ably.com, pubnub.com | reddit.com/r/selfhosted | 2022-05-05
-
berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
First, I'd recommend Berty (https://berty.tech/) as opposed to Bridgefy due to security concerns and the fact that it is open-source. Berty can function over bluetooth just like Bridgefy, so it'll still work when the cell service goes down (albeit only at a short range).
-
Jocko
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)
Project mention: Which library/project do you wish was ported to golang? | reddit.com/r/golang | 2022-01-09 -
You can do some DE work with Golang https://www.benthos.dev/
-
Install the nats.go package
-
Project mention: Sharing event schema ( type ) between producer and a consumer | reddit.com/r/golang | 2022-01-10
Last time I checked Confluent does not have a Schema Registry for Go, only for Java, so instead of that I rely on using the guidelines defined for the serialized data, specifically I've used gPRC+Protobuf for doing this, together with buf to detect breaking changes; buf has their own schema registry perhaps that could be something you could explore as well.
-
Temporal is even more complex, but is from the Go world. asynq is one of many implementations for Go that offer celery-like complexity. Celery itself is very python-esqe, true. But the problem it solves is not. And those problems need to be solved in Go as well.
-
Project mention: How would I automatically update how much users are signed up for each group? | reddit.com/r/PHPhelp | 2022-05-11
Polling is kind of ok (data might change between poll events), but real-time updates are better. So If you don't mind adding an extra service, then take a look at mercure.
-
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.
-
Project mention: On Efficiently Partitioning a Topic in Apache Kafka | news.ycombinator.com | 2022-05-22
Apache Pulsar might be worth a look, but it's actually more complex under the hood than Kafka, but has a lot of features built-in that either aren't in FOSS Kafka yet, like tiered storage, or won't be until Confluent doesn't dominate the PMC (like an integrated schema registry), or just can't be done very nicely, if at all, like decent multi-tenancy.
That said, it's a fast moving target, the code quality last I looked was patchy in places, ditto the documentation for both it and Bookkeeper, and the admin overhead is higher (managing bookies and brokers and Zookeepers vs. just brokers and ZK with Kafka, or when KRaft is production ready, just brokers).
-
nsq : simple, high performance, distributed MQ
-
-
-
beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
Project mention: GitHub - Clivern/Beaver: 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. | reddit.com/r/golang | 2021-10-16 -
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.
Project mention: A Self Hosted and Open Source Alternative to Google’s Firebase | reddit.com/r/linux | 2022-03-22https://uniqush.org/ and/or https://unifiedpush.org/ may be of interest as well.
-
Go Messaging related posts
- Nsq - A realtime distributed messaging platform
- Is there a package for sending notifications to multiple destinations like Laravel?
- Sarama - Go library for Apache Kafka.
- Programming languages
- Mercure: Real-Time Made Easy
- Push notification server in golang
- NSQ: A realtime distributed messaging platform
Index
What are some of the best open-source Messaging projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | nsq | 21,326 |
2 | NATS | 10,896 |
3 | Tinode | 8,784 |
4 | sarama | 8,530 |
5 | Open-IM-Server | 7,871 |
6 | gorush | 6,319 |
7 | machinery | 6,242 |
8 | Centrifugo | 6,027 |
9 | berty | 5,694 |
10 | Jocko | 4,557 |
11 | Benthos | 4,380 |
12 | NATS | 3,929 |
13 | Confluent Kafka Golang Client | 3,297 |
14 | Asynq | 3,111 |
15 | Mercure | 2,725 |
16 | APNs2 | 2,634 |
17 | liftbridge | 2,272 |
18 | go-nsq | 2,151 |
19 | gopush-cluster | 2,029 |
20 | mainflux | 1,775 |
21 | beaver | 1,339 |
22 | Uniqush-Push | 1,331 |
23 | jackal | 1,264 |
Are you hiring? Post a new remote job listing for free.