项目作者: makasim

项目描述 :
Golang AMQP on steroids. Reliable connection. Publisher. Consumer.
高级语言: Go
项目地址: git://github.com/makasim/amqpextra.git
创建时间: 2019-11-05T19:39:33Z
项目社区:https://github.com/makasim/amqpextra

开源协议:MIT License

下载


Extra features for streadway/amqp package.

Build Status

Documentation

Dialer.

Provides:

  • Auto reconnect.
  • Context aware.
  • Configured by WithXXX options.
  • Dial multiple servers.
  • Notifies ready\unready\closed states.

Examples:

Consumer.

Provides:

  • Auto reconnect.
  • Context aware.
  • Configured by WithXXX options.
  • Consumer can process messages in parallel.
  • Consumers in-process auto-scaling and backpressure.
  • Adds message context.
  • Detects queue deletion and reconnect.
  • Notifies ready\unready\closed states.

Examples:

Publisher.

Provides:

  • Auto reconnect.
  • Context aware.
  • Configured by WithXXX options.
  • Notifies ready\unready\closed states.
  • Publish could wait till connection ready.
  • Adds message context.
  • Publish a message struct (define only what you need).
  • Supports flow control.

Examples:

Consumer middlewares

The consumer could chain middlewares for a preprocessing received message.

Here’s some built-in middlewares:

  • HasCorrelationID - Nack message if has no correlation id
  • HasReplyTo - Nack message if has no reply to.
  • Logger - Context with logger.
  • Recover - Recover worker from panic, nack message.
  • Expire - Convert Message expiration to context with timeout.
  • AckNack - Return middleware.Ack to ack message.