Change-Id: I81db7a99f7a7d2c712d72c16cc8951ae86c450aa
2.3 KiB
oslo.messaging: Notification listener pools
https://blueprints.launchpad.net/oslo.messaging/+spec/notification-listener-pools
The idea is that you can have multiple groups/pools of listeners consuming notifications and that each group/pool only receives one copy of each notification.
Problem description
Currently if two applications use the oslo.messaging notification listener and want to subscribe to the same topic, they steal messages from each other.
The current workaround is to configure the notifier part to publish the message twice on different topic. This confuses a lot of people and this is undocumented.
Proposed change
So part of the purpose of this BP is a bit hardcoded into oslo.messaging and have bad side effect. The proposal will fix that.
We need to add a pool parameter for the messaging.get_notification_listener() API in order to support this.
In all AMQP drivers, this is implemented by using the pool name as the queue name for consume from the topic. To keep backward compatibility, by default, the topic name will continue to be used as the pool/queue name.
Alternatives
Documents the workaround.
Impact on Existing APIs
oslo.messaging.get_notification_listener will get a new parameter 'pool' to configure the pool name.
Security impact
None.
Performance Impact
None.
Configuration Impact
None.
Developer Impact
None.
Testing Impact
None.
Implementation
Assignee(s)
- Primary assignee:
-
sileht
- Other contributors:
-
None
Milestones
K-1
Work Items
Works already done: https://review.openstack.org/125112
Incubation
None.
Adoption
None.
Library
None.
Anticipated API Stabilization
None.
Documentation Impact
The new pool parameter will be documented.
Dependencies
None.
References
Code in review: https://review.openstack.org/#/c/125112/
Note
This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode