Go Messaging

Open-source Go projects categorized as Messaging

Top 23 Go Messaging Projects

  • GitHub repo nsq

    A realtime distributed messaging platform

    Project mention: For those running Go in production at scale, what do you use for distributed task queues? | reddit.com/r/golang | 2021-06-04

    Here is link number 1 - Previous text "NSQ"

  • GitHub repo NATS

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

    Project mention: [HIRING] Senior Backend Developer (Golang) at Valocode (Helsinki, Finland) | Salary: 60k-70k EUR - depending on equity package | reddit.com/r/RemoteJobs | 2021-05-31

    About the role: You will have a crucial role in developing the Bubbly backend which is entirely written in Golang. We are using NATS (https://nats.io) and a service-oriented architecture (not quite microservice) where the services communicate via NATS message queues. Postgres is the primary database right now, but we have plans for immutable, append-only databases in the future for more compliance-related activities. As the team was founded from a DevOps company, Verifa, we enjoy our DevOps practices and would hope you will enjoy it also.

  • GitHub repo sarama

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

    Project mention: Is segmentio/kafka-go production ready ? | reddit.com/r/apachekafka | 2021-06-01

    There are a few factors that are stopping me from using kafka-go over Shopify's sarama.

  • 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: For those running Go in production at scale, what do you use for distributed task queues? | reddit.com/r/golang | 2021-06-04

    Machinery (https://github.com/RichardKnop/machinery) seems to be the most popular out of the box solution. I've played with this in the past and it's worked pretty well but I'm not sure how it handles under serious volume.

  • GitHub repo Centrifugo

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

    Project mention: Django channels vs websockets with Starlette/fastAPI ? | reddit.com/r/django | 2021-05-24

    Hello, take a look at https://github.com/centrifugal/centrifugo - it was designed to work with frameworks like Django in non-obtrusive way so you don't really need to change existing system a lot. There is an example of integration with Django - https://github.com/centrifugal/examples/tree/master/django - pretty old but should help with a general idea.

  • 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: No comprehensive software comparison charts? | reddit.com/r/privacytoolsIO | 2021-06-09

    Berty has some excellent information on their site.

  • GitHub repo Jocko

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

    Project mention: ZooKeeper-free Kafka is out. First Demo | news.ycombinator.com | 2021-03-30

    Reminded me of this project: https://github.com/travisjeffery/jocko

    Kafka implemented in Go without needing Zookeeper.

  • GitHub repo NATS

    Golang client for NATS, the cloud native messaging system.

    Project mention: Subscription management in pub/sub system | reddit.com/r/golang | 2021-03-09

    You could start by looking/reading how it is implemented in production ala https://github.com/nats-io/nats.go

  • GitHub repo Benthos

    Declarative stream processing for mundane tasks and data engineering

    Project mention: Satori, the bot that protects the Superstonk sub, is not what it seems | reddit.com/r/DDintoGME | 2021-06-07
  • GitHub repo Confluent Kafka Golang Client

    Confluent's Apache Kafka Golang client

    Project mention: Is segmentio/kafka-go production ready ? | reddit.com/r/golang | 2021-06-01

    I'd suggest https://github.com/confluentinc/confluent-kafka-go we switched from sarama-cluster with minimal work and it works fine. And we process approx 1.2M messages per hour.

  • 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: Most primitive lighweight alternative to Kafka? | reddit.com/r/selfhosted | 2021-04-22

    Do you need the messages to be durable, if so you can have a look at Liftbridge: - https://liftbridge.io/ - https://github.com/liftbridge-io/liftbridge

  • GitHub repo gopush-cluster

    Golang push server cluster

  • GitHub repo go-nsq

    The official Go package for NSQ

  • GitHub repo mainflux

    Industrial IoT Messaging and Device Management Platform (by mainflux)

    Project mention: Trying to use Kivy To Control ESP8266 From Smartphone | reddit.com/r/kivy | 2021-01-24

    There is lots of software to choose from, I suggest you have a look at Mainflux, and Mosquitto is popular for broker. Thingsboard is a turnkey solution, it's nice in some ways, but also very slow and heavy. Other options to research in this wikipedia article.

  • GitHub repo Asynq

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

    Project mention: For those running Go in production at scale, what do you use for distributed task queues? | reddit.com/r/golang | 2021-06-04

    Asynq (https://github.com/hibiken/asynq): Looks promising but not quite at v1.0 yet.

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

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

  • GitHub repo zmq4

    A Go interface to ZeroMQ version 4

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-06-09.


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

Project Stars
1 nsq 19,753
2 NATS 9,466
3 sarama 7,313
4 gorush 5,514
5 Tinode 5,468
6 machinery 5,323
7 Centrifugo 5,087
8 berty 4,599
9 Jocko 4,287
10 NATS 3,390
11 Benthos 3,165
12 Confluent Kafka Golang Client 2,723
13 APNs2 2,502
14 Mercure 2,455
15 liftbridge 2,090
16 gopush-cluster 1,967
17 go-nsq 1,918
18 mainflux 1,439
19 Asynq 1,249
20 Uniqush-Push 1,236
21 beaver 1,101
22 EventBus 927
23 zmq4 914
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives