-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Current implementation of the messaging API in "rabbitmq" package offers a creation of Connection and AMQPChannel which perform dial and queue declare in the same action.
Although Connection is concurrent and it is encouraged to be reused (in go routines), Channel does not seem to be concurrent and causes errors when used with go routines (errors of type "connection closed" when the connection is actually open).
We need to split this API into two parts:
- First dial to the RabbitMQ server
- Provide a structure that provide concurrent Send/Receive methods.
This would require an overhaul of the "rabbitmq" package, and would impact the services using this API (namely microservice-mai, microservice-registration and microservice-user).