Awesome Go

Messaging

61 libraries in this category

Asynq

A simple, reliable, and efficient distributed task queue for Go built on top of Redis

13,767MessagingMessaging
sarama

Go library for Apache Kafka

12,526MessagingMessaging
Centrifugo

Real-time messaging (Websockets or SockJS) server in Go

10,865MessagingMessaging
Watermill

Working efficiently with message streams. Building event driven applications, enabling event sourcing, RPC over messages, sagas. Can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog

9,915MessagingMessaging
gorush

Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm)

8,785MessagingMessaging
machinery

Asynchronous task queue/job queue based on distributed message passing

7,971MessagingMessaging
NATS Go Client

Go client for the NATS

6,778MessagingMessaging
Mercure

Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events)

5,347MessagingMessaging
Confluent Kafka Golang Client

confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform

5,171MessagingMessaging
melody

Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling

4,079MessagingMessaging
APNs2

HTTP/2 Apple Push Notification provider for Go - Send push notifications to iOS, tvOS, Safari and OSX apps

3,192MessagingMessaging
go-nsq

the official Go package for NSQ

2,659MessagingMessaging
gopush-cluster

gopush-cluster is a go push server cluster

2,067MessagingMessaging
amqp

Go RabbitMQ Client Library

2,040MessagingMessaging
EventBus

The lightweight event bus with async compatibility

1,983MessagingMessaging
Beaver

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

1,585MessagingMessaging
Uniqush-Push

Redis backed unified push service for server-side notifications to mobile devices

1,564MessagingMessaging
Chanify

A push notification server send message to your iOS devices

1,319MessagingMessaging
zmq4

Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2)

1,264MessagingMessaging
dbus

Native Go bindings for D-Bus

1,212MessagingMessaging
Gollum

A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations

939MessagingMessaging
mangos

Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability

759MessagingMessaging
golongpoll

HTTP longpoll server library that makes web pub-sub simple

665MessagingMessaging
emitter

Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins

530MessagingMessaging
Quamina

Fast pattern-matching for filtering messages and events

505MessagingMessaging
pubsub

Simple pubsub package for go

453MessagingMessaging
Glue

Robust Go and Javascript Socket Library (Alternative to Socket.io)

421MessagingMessaging
Bus

Minimalist message bus implementation for internal communication

368MessagingMessaging
rabtap

RabbitMQ swiss army knife cli app

290MessagingMessaging
messagebus

messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD

283MessagingMessaging
Go-MediatR

A library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library

280MessagingMessaging
varmq

A storage-agnostic message queue and worker pool for concurrent Go programs

208MessagingMessaging
guble

Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence

161MessagingMessaging
backlite

Type-safe, persistent, embedded task queues and background job runner w/ SQLite

155MessagingMessaging
hub

A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges

150MessagingMessaging
redisqueue

redisqueue provides a producer and consumer of a queue that uses Redis streams

138MessagingMessaging
Ratus

Ratus is a RESTful asynchronous task queue server

126MessagingMessaging
rabbitroutine

Lightweight library that handles RabbitMQ auto-reconnect and publishing retries. The library takes into account the need to re-declare entities in RabbitMQ after reconnection

115MessagingMessaging
oplog

Generic oplog/replication system for REST APIs

111MessagingMessaging
rabbus

A tiny wrapper over amqp exchanges and queues

98MessagingMessaging
go-mq

RabbitMQ client with declarative configuration

91MessagingMessaging
drone-line

Sending [Line](https://at.line.me/en) notifications using a binary, docker or Drone CI

81MessagingMessaging
nsq-event-bus

A tiny wrapper around NSQ topic and channel

80MessagingMessaging
GoEventBus

A blazing‑fast, in‑memory, lock‑free event bus library

74MessagingMessaging
go-notify

Native implementation of the freedesktop notification spec

71MessagingMessaging
RapidMQ

RapidMQ is a lightweight and reliable library for managing of the local messages queue

70MessagingMessaging
go-res

Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate

69MessagingMessaging
Commander

A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka

68MessagingMessaging
event

Implementation of the pattern observer

61MessagingMessaging
hare

A user friendly library for sending messages and listening to TCP sockets

54MessagingMessaging
hypermatch

Matches events against large sets of rules, with rules written in Go or as JSON

38MessagingMessaging
ami

Go client to reliable queues based on Redis Cluster Streams

34MessagingMessaging
gosd

A library for scheduling when to dispatch a message to a channel

26MessagingMessaging
go-vitotrol

Client library to Viessmann Vitotrol web service

24MessagingMessaging
rmqconn

RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed

23MessagingMessaging
jazz

A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages

18MessagingMessaging
go-eventbus

Simple Event Bus package for Go

11MessagingMessaging
broker

Production-grade messaging abstraction with a unified API for various brokers and built-in OpenTelemetry integration

11MessagingMessaging
gaurun-client

Gaurun Client written in Go

11MessagingMessaging
kiln

Persistent background jobs in PostgreSQL, MySQL or SQLite, with retries, workflows, recurring jobs and a dashboard

7MessagingMessaging
hypermatch

A very fast and efficient Go library for matching events to a large set of rules

MessagingMessaging