RabbitMQ (Golang)
Closed this issue · 2 comments
- Include the RabbitMQ client for Golang to the project
- Implement storing and retrieving blocks from the block store through Rabbit MQ
I started by looking at the official Golang RabbitMQ tutorial.
The tutorial suggests using this repo.
The repo says it is only compatible with the 0.9.1 version of RabbitMQ AMQP protocol, and authors have "no plans for implementation" of protocol versions 0.10 or 1.0.
According to this blog, "it is unlikely that RabbitMQ will deviate from AMQP 0.9.1. Version 1.0 of the protocol released on October 30, 2011 but has not gained widespread support from developers."
According to RabbitMQ official docs here, "Despite the name, AMQP 1.0 is a radically different protocol from AMQP 0-9-1 / 0-9 / 0-8, sharing essentially nothing at the wire level. AMQP 1.0 imposes far fewer semantic requirements; it is therefore easier to add support for AMQP 1.0 to existing brokers. The protocol is substantially more complex than AMQP 0-9-1, and there are fewer client implementations. RabbitMQ supports AMQP 1.0 via a plugin."
This suggests to me we should standardize on AMQP 0.9.1.