Messaging

58 packages

Packages (58)

Asynq

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

12,840 899

sarama

Go library for Apache Kafka.

12,416 1,843

Centrifugo

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

9,901 678

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,483 491

gorush

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

8,681 879

machinery

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

7,944 946

Mercure

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

5,175 341

melody

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

4,059 373

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,661 441

amqp

Go RabbitMQ Client Library.

1,963 160

EventBus

The lightweight event bus with async compatibility.

1,954 240

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,562 202

Chanify

A push notification server send message to your iOS devices.

1,322 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,245 172

dbus

Native Go bindings for D-Bus.

1,138 245

Gollum

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

940 76

mangos

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

743 79

golongpoll

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

666 60

emitter

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

525 36

Quamina

Fast pattern-matching for filtering messages and events.

474 26

pubsub

Simple pubsub package for go.

447 66

Glue

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

421 31

Bus

Minimalist message bus implementation for internal communication.

359 25

messagebus

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

286 48

rabtap

RabbitMQ swiss army knife cli app.

278 17

Go-MediatR

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

274 18

varmq

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

176 12

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.

149 19

redisqueue

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

139 57

backlite

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

137 9

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.

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

91 19

drone-line

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

80 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

Commander

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

67 5

go-res

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

67 9

event

Implementation of the pattern observer.

62 12

hare

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

54 11

GoEventBus

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

53 6

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