Messaging

59 packages

Packages (59)

Asynq

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

13,037 913

sarama

Go library for Apache Kafka.

12,446 1,846

Centrifugo

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

10,084 683

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,600 495

gorush

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

8,701 885

machinery

Asynchronous task queue/job queue based on distributed message passing.

7,948 944

Mercure

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

5,211 340

melody

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

4,069 372

APNs2

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

3,160 351

go-nsq

the official Go package for NSQ.

2,657 439

amqp

Go RabbitMQ Client Library.

1,979 164

EventBus

The lightweight event bus with async compatibility.

1,967 241

Beaver

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

1,583 84

Uniqush-Push

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

1,565 201

Chanify

A push notification server send message to your iOS devices.

1,324 102

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,248 172

dbus

Native Go bindings for D-Bus.

1,155 242

Gollum

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

939 76

mangos

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

749 82

golongpoll

HTTP longpoll server library that makes web pub-sub simple.

668 60

emitter

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

528 36

Quamina

Fast pattern-matching for filtering messages and events.

485 27

pubsub

Simple pubsub package for go.

449 64

Glue

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

421 31

Bus

Minimalist message bus implementation for internal communication.

360 25

messagebus

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

285 48

rabtap

RabbitMQ swiss army knife cli app.

280 18

Go-MediatR

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

278 18

varmq

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

182 14

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.

161 22

hub

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

148 19

backlite

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

139 9

redisqueue

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

139 57

Ratus

Ratus is a RESTful asynchronous task queue server.

124 8

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.

113 17

oplog

Generic oplog/replication system for REST APIs.

110 13

rabbus

A tiny wrapper over amqp exchanges and queues.

98 25

go-mq

RabbitMQ client with declarative configuration.

90 19

drone-line

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

81 17

go-notify

Native implementation of the freedesktop notification spec.

71 11

RapidMQ

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

70 12

go-res

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

68 9

Commander

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

67 5

event

Implementation of the pattern observer.

63 12

GoEventBus

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

58 8

hare

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

54 11

ami

Go client to reliable queues based on Redis Cluster Streams.

34 9

hypermatch

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

33

gosd

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

26 5

go-vitotrol

Client library to Viessmann Vitotrol web service.

23 10

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.

23 2

jazz

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

18 4

broker

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

7 1