适用于Golang应用程序的可嵌入消息传递组件

I need a embeddable messaging component for Golang application.I looked into distributed messaging system like NSQ etc, but prefer one which is much simpler, stable and embeddable (no separate daemon). Systems like NSQ would be overkill for my requirement and I don't think it is easily embeddable.

I need such a component to distribute the payload/data reliably (delivered once atleast) among my processing distributed engines and embeddable would make installation and configurations easy.

Any information would be appreciated.

I use RabbitMQ in production with this library https://github.com/streadway/amqp. This is not an official library but the implementation is quite good.

I use it to improve fault tolerance and scalability for IOT.

Pro:

Cons:

  • Not really efficient for big payloads
  • Probably not the fastest (but fast enough to my projects)