Go Messaging

Open-source Go projects categorized as Messaging

Top 23 Go Messaging Projects

  • GitHub repo nsq

    A realtime distributed messaging platform

  • GitHub repo NATS

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

    Project mention: NATS, NATS Streaming & NATS JetStream + How to build a JetStream Cluster & Go Client | reddit.com/r/golang | 2021-02-28

    Here is the original conversation where it was confirmed that you can't really get a reliable distribution, even with MaxInFlight=1: https://github.com/nats-io/nats-server/issues/878 They said over time it would even out, but in my case I cannot allow a busy worker to be pushed a second message.

  • GitHub repo sarama

    Sarama is a Go library for Apache Kafka 0.8, and up.

    Project mention: Kafka manual commit problem | reddit.com/r/apachekafka | 2021-03-02

    I suspect our issue is very much related to rebalancing and the consumer groups to adjust based on that. I followed what is suggested in this issue https://github.com/Shopify/sarama/issues/1685 to re-establish the session whenever it gets closed and it is been working out well for us. There has been little delay sometimes and I am still working on finding the root cause for session closure.

  • GitHub repo gorush

    A push notification server written in Go (Golang).

  • GitHub repo Tinode

    Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots

  • GitHub repo machinery

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

    Project mention: Algo Trading Setup Guide? | reddit.com/r/algotrading | 2021-02-20

    we moved away to enterprise task Automator for all workload. there are open source scheduler solutions too. I use machinery ( https://github.com/RichardKnop/machinery) for my home cluster. it distributes ML tasks between 180 cores. lots of R610 running. lol.

  • GitHub repo Centrifugo

    Scalable real-time messaging server in language-agnostic way

    Project mention: [Help] Pub/Sub model or any Server Event Notification (Open to suggestions). | reddit.com/r/golang | 2021-02-10

    Mb try something like this https://github.com/centrifugal/centrifugo?

  • GitHub repo 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: The Signal Server repository hasn’t been updated since April 2020 | reddit.com/r/privacy | 2021-03-03

    Berty (when released)

  • GitHub repo Jocko

    Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)

  • GitHub repo NATS

    Golang client for NATS, the cloud native messaging system.

  • GitHub repo Benthos

    Declarative streaming ETL for mundane tasks, written in Go

    Project mention: A flexible and powerful stream processing library for Go. | reddit.com/r/golang | 2020-12-21

    Curious how this would compare to Benthos?

  • GitHub repo Confluent Kafka Golang Client

    Confluent's Apache Kafka Golang client

    Project mention: Feature complete Kafka client written in Go | reddit.com/r/golang | 2021-02-03
  • GitHub repo 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.

  • GitHub repo Mercure

    Server-sent live updates: protocol and reference implementation

    Project mention: Live - A net/http compatible Phoenix LiveView implementation | reddit.com/r/golang | 2020-12-31
  • GitHub repo liftbridge

    Lightweight, fault-tolerant message streams.

    Project mention: NATS, NATS Streaming & NATS JetStream + How to build a JetStream Cluster & Go Client | reddit.com/r/golang | 2021-02-28
  • GitHub repo gopush-cluster

    Golang push server cluster

  • GitHub repo go-nsq

    The official Go package for NSQ

  • GitHub repo 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.

  • GitHub repo beaver

    💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.

    Project mention: 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/github | 2021-01-04
  • GitHub repo Asynq

    Asynq: simple, reliable, and efficient distributed task queue in Go

    Project mention: Web UI released for Asynq | reddit.com/r/golang | 2021-02-02

    I have an open issue to add this feature in asynq (https://github.com/hibiken/asynq/issues/218) but currently it's not available.

  • GitHub repo zmq4

    A Go interface to ZeroMQ version 4

  • GitHub repo Gollum

    An n:m message multiplexer written in Go (by trivago)

  • GitHub repo EventBus

    [Go] Lightweight eventbus with async compatibility for Go (by asaskevich)

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 2021-03-03.


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

Project Stars
1 nsq 19,263
2 NATS 8,945
3 sarama 6,846
4 gorush 5,274
5 Tinode 5,224
6 machinery 4,958
7 Centrifugo 4,906
8 berty 4,207
9 Jocko 4,154
10 NATS 3,241
11 Benthos 2,878
12 Confluent Kafka Golang Client 2,529
13 APNs2 2,443
14 Mercure 2,348
15 liftbridge 2,009
16 gopush-cluster 1,962
17 go-nsq 1,858
18 Uniqush-Push 1,235
19 beaver 1,051
20 Asynq 906
21 zmq4 899
22 Gollum 883
23 EventBus 874