Messaging

59 packages

Packages (59)

Asynq

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

13,317 938

sarama

Go library for Apache Kafka.

12,485 1,841

Centrifugo

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

10,312 706

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,730 497

gorush

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

8,728 886

machinery

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

7,957 937

Mercure

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

5,248 339

melody

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

4,079 372

APNs2

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

3,175 353

go-nsq

the official Go package for NSQ.

2,655 434

amqp

Go RabbitMQ Client Library.

2,004 168

EventBus

The lightweight event bus with async compatibility.

1,973 244

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,564 201

Chanify

A push notification server send message to your iOS devices.

1,325 104

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

dbus

Native Go bindings for D-Bus.

1,172 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.

754 82

golongpoll

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

668 61

emitter

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

531 37

Quamina

Fast pattern-matching for filtering messages and events.

491 27

pubsub

Simple pubsub package for go.

453 63

Glue

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

421 31

Bus

Minimalist message bus implementation for internal communication.

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

276 18

varmq

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

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

147 9

redisqueue

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

138 58

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

GoEventBus

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

65 9

event

Implementation of the pattern observer.

62 12

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 1

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.

10 1