rabbitmq-stream-go-client icon indicating copy to clipboard operation
rabbitmq-stream-go-client copied to clipboard

Basic primitives to interact with Streams

Open Zerpet opened this issue 2 years ago • 0 comments

Description

The current implementation of stream.Producer and stream.Consumer use stream.Coordinator. This coordinator does a lot of things, like keeping track of the IDs used for communication, reconnection, keeping a list of created producer/consumers... It is a lot and it is very opinionated. It is the central piece to publishing and consuming messages, and it is very hard to change this code because it affects many different pieces.

Proposed solution

  • Create a very simple Producer, with low level functions to send messages and receive responses
  • Create a very simple Consumer, same as above
  • Use a dedicated connection socket for each created producer/consumer

Zerpet avatar Jun 30 '22 14:06 Zerpet