Go Messaging

Open-source Go projects categorized as Messaging | Edit details
Related topics: #Golang #Go #Pubsub #Amqp #Redis

Top 23 Go Messaging Projects

  • nsq

    A realtime distributed messaging platform

    Project mention: Nsq - A realtime distributed messaging platform | reddit.com/r/github_trends | 2022-05-20
  • NATS

    High-Performance server for NATS.io, the cloud and edge native messaging system.

    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
  • sarama

    Sarama is a Go library for Apache Kafka.

    Project mention: Sarama - Go library for Apache Kafka. | reddit.com/r/github_trends | 2022-05-15
  • 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
  • gorush

    A push notification server written in Go (Golang).

    Project mention: Push notification server in golang | reddit.com/r/golang | 2022-05-07
  • machinery

    Machinery is an asynchronous task queue/job queue based on distributed message passing.

    Project mention: Using a High-Level RabbitMQ Client in Go | reddit.com/r/golang | 2022-03-10

    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.

  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Set up once and forever.

    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

    Project mention: Offline Communication During the Long March | reddit.com/r/pakistan | 2022-05-23

    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
  • Benthos

    Fancy stream processing made operationally mundane

    Project mention: Programming languages | reddit.com/r/dataengineering | 2022-05-08

    You can do some DE work with Golang https://www.benthos.dev/

  • NATS

    Golang client for NATS, the cloud native messaging system.

    Project mention: Distributed communication patterns with NATS | dev.to | 2022-03-03

    Install the nats.go package

  • Confluent Kafka Golang Client

    Confluent's Apache Kafka Golang client

    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.

  • Asynq

    Simple, reliable, and efficient distributed task queue in Go

    Project mention: gocelery | reddit.com/r/golang | 2022-04-12

    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.

  • Mercure

    Server-sent live updates: protocol and reference implementation

    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.

  • liftbridge

    Lightweight, fault-tolerant message streams.

    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).

  • go-nsq

    The official Go package for NSQ

    Project mention: Distributed IM Service in Golang | dev.to | 2022-04-19

    nsq : simple, high performance, distributed MQ

  • gopush-cluster

    Golang push server cluster

  • mainflux

    Industrial IoT Messaging and Device Management Platform (by mainflux)

  • 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-22

    https://uniqush.org/ and/or https://unifiedpush.org/ may be of interest as well.

  • jackal

    💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).

    Project mention: Jackal 0.58.0 – Go XMPP Server | reddit.com/r/golang | 2022-03-04
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 2022-05-23.

Go Messaging related posts


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
Find remote jobs at our new job board 99remotejobs.com. There are 7 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives