Messaging

59 packages

Packages (59)

Asynq

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

13,228 929

sarama

Go library for Apache Kafka.

12,474 1,842

Centrifugo

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

10,233 698

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,691 496

gorush

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

8,722 886

machinery

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

7,956 937

Mercure

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

5,240 342

melody

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

4,070 371

APNs2

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

3,173 352

go-nsq

the official Go package for NSQ.

2,652 435

amqp

Go RabbitMQ Client Library.

1,999 168

EventBus

The lightweight event bus with async compatibility.

1,972 243

Beaver

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

1,584 84

Uniqush-Push

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

1,564 201

Chanify

A push notification server send message to your iOS devices.

1,325 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,253 172

dbus

Native Go bindings for D-Bus.

1,162 243

Gollum

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

941 75

mangos

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

753 81

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.

531 36

Quamina

Fast pattern-matching for filtering messages and events.

492 27

pubsub

Simple pubsub package for go.

452 63

Glue

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

421 31

Bus

Minimalist message bus implementation for internal communication.

362 25

messagebus

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

287 48

rabtap

RabbitMQ swiss army knife cli app.

281 18

Go-MediatR

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

279 18

varmq

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

184 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 23

hub

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

149 19

backlite

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

145 9

redisqueue

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

138 57

Ratus

Ratus is a RESTful asynchronous task queue server.

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

115 17

oplog

Generic oplog/replication system for REST APIs.

111 13

rabbus

A tiny wrapper over amqp exchanges and queues.

98 25

go-mq

RabbitMQ client with declarative configuration.

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

62 12

GoEventBus

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

61 9

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

34

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 9

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.

9 1