Go Messaging

Open-source Go projects categorized as Messaging

Top 23 Go Messaging Projects

  • nsq

    A realtime distributed messaging platform

  • Project mention: NSQ: Open-source realtime distributed messaging, billions of messages / day | news.ycombinator.com | 2024-01-09
  • NATS

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

  • Project mention: Hello World, Simple Event Broker | news.ycombinator.com | 2024-05-29
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • open-im-server

    IM Chat

  • Tinode

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

  • Asynq

    Simple, reliable, and efficient distributed task queue in Go

  • Project mention: Looking for a language agnostic Go task queue with Redis | /r/golang | 2023-09-12

    EDIT : I think the best for my case will be to use the asynq library with a custom js client, it's quite easy to implement (Detailed here)

  • 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: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.

    What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.

    Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.

    If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.

  • gorush

    A push notification server written in Go (Golang).

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • Benthos

    Fancy stream processing made operationally mundane

  • Project mention: Benthos – Fancy stream processing made operationally mundane | news.ycombinator.com | 2024-05-15
  • machinery

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

  • 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: Berty: Secure P2P message app that needs no internet access or trust in network | news.ycombinator.com | 2024-05-10
  • watermill

    Building event-driven applications the easy way in Go.

  • Project mention: Microservices communication | /r/golang | 2023-12-09

    I’ve successfully worked on projects using an asynchronous event-driven way of connecting services. I really like the decoupling of business logic and the events triggering it. I highly recommend https://github.com/ThreeDotsLabs/watermill to be more flexible when it comes to choosing the actual technology driving the async patter. It might be NATS today but requirements might change and you need to change. Watermill prepares you for this.

  • NATS

    Golang client for NATS, the cloud native messaging system.

  • Project mention: High-Performance server for NATS.io, the cloud and edge native messaging system | news.ycombinator.com | 2023-07-21
  • Jocko

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

  • Mercure

    🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications

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

  • notify

    A dead simple Go library for sending notifications to various messaging services.

  • go-nsq

    The official Go package for NSQ

  • liftbridge

    Lightweight, fault-tolerant message streams.

  • gopush-cluster

    Golang push server cluster

  • teamgram-server

    Unofficial open source mtproto server written in golang with compatible telegram client.

  • EventBus

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

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

  • beaver

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

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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

Go Messaging related posts

  • Benthos – Fancy stream processing made operationally mundane

    1 project | news.ycombinator.com | 15 May 2024
  • NATS: First Impressions

    1 project | news.ycombinator.com | 3 Apr 2024
  • Interview with Sebastian Holstein, Founder of Qaze

    1 project | dev.to | 21 Mar 2024
  • WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport

    1 project | news.ycombinator.com | 20 Mar 2024
  • NSQ: Open-source realtime distributed messaging, billions of messages / day

    1 project | news.ycombinator.com | 9 Jan 2024
  • Public chatroom websocket project in Go

    1 project | /r/golang | 7 Dec 2023
  • Ask HN: Who is hiring? (December 2023)

    17 projects | news.ycombinator.com | 1 Dec 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 2 Jun 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Index

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

Project Stars
1 nsq 24,649
2 NATS 14,925
3 open-im-server 13,216
4 Tinode 11,627
5 Asynq 8,795
6 Centrifugo 7,991
7 gorush 7,771
8 Benthos 7,724
9 machinery 7,350
10 berty 7,356
11 watermill 6,818
12 NATS 5,216
13 Jocko 4,885
14 Mercure 3,787
15 APNs2 2,944
16 notify 2,735
17 go-nsq 2,544
18 liftbridge 2,543
19 gopush-cluster 2,078
20 teamgram-server 1,694
21 EventBus 1,651
22 Uniqush-Push 1,524
23 beaver 1,520

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com