Open ttshivers opened 9 months ago
@ttshivers I like this idea! Is there any action item/follow up that us, the library Authors can do? Updating documentation? Improving the module API? Feel free to propose and i'd be happy to review/discuss
I think this could be accomplished with an internal change where the publish method uses a separate connection that we would also need to set up.
I think this could be accomplished with an internal change where the publish method uses a separate connection that we would also need to set up.
Do you have a change proposal in mind or something you could show off in a PR? I haven't used the rmq package in awhile so I'm open to suggestions
I think this could be accomplished with an internal change where the publish method uses a separate connection that we would also need to set up.
Do you have a change proposal in mind or something you could show off in a PR? I haven't used the rmq package in awhile so I'm open to suggestions
Sure. Also, I think this may involve changing the names of many public properties to properly differentiate between the consumer and producer connections.
https://github.com/golevelup/nestjs/blob/8962eed4ce527dba11fe7799de58cdf33d066e52/packages/rabbitmq/src/amqp/connection.ts#L147
would become consumerConnection
and there would also be a publisherConnection
.
I think this could be accomplished with an internal change where the publish method uses a separate connection that we would also need to set up.
Do you have a change proposal in mind or something you could show off in a PR? I haven't used the rmq package in awhile so I'm open to suggestions
Sure. Also, I think this may involve changing the names of many public properties to properly differentiate between the consumer and producer connections.
would become
consumerConnection
and there would also be apublisherConnection
.
I like that idea! I'm not against a change of API if it's for the better, again this API should evolve and there's room for improvement
One thing I'm considering as well is cases where only consumption is used so a publisher channel wouldn't be needed.
Separate connections can be created with the current state by registering the module multiple times so perhaps that might be the way to go.
A while ago i had the idea of "connection pooling" because it felt that some connections were being recreated and could potentially be re-used but if you do have an RFC feel free to propose, don't feel limited
Has there been any movement on this?
This issue is stale because it has been open for 30 days with no activity.
According to best practices, it is good to use separate connections entirely for publishers and consumers so RabbitMQ can apply backpressure on the tcp connections if the publisher is sending too many messages but still allow consumers to operate properly and send back acks.
https://www.cloudamqp.com/blog/part1-rabbitmq-best-practice.html#separate-connections-for-publisher-and-consumer