Will not database coupling endangers loose coupling achieved through RabbitMQ ?
As stated in NOVA developer's guide "RabbitMQ sits between any two Nova components and allows them to communicate in a loosely coupled fashion".
This seems a wonderful pattern to achieve scaleability/
BUT it looks to my (novice as related to OpenStack code) eyes that in several occasions (for example, between API and COMPUTE), only RPC call is routed through a MQ Message AND ASSOCIATED DATA IS COMITTED TO THE DATABASE by the message sender, and then RETRIEVED by the RPC Message consumer.
As Complexity grows, coupling between components will raise through the database structure and shared data ; moreover, all components instance will have to share access to a central common database (oops for scalability).
If we want to keep the good points of RabbitMQ oriented design, shouldn't we rework some code to ensure that the components communicate ONLY THROUGH RabbitMQ, and not through a common database ?
Best regards to all of you who work on this wonderful project,
Roderick SUMBERS.
Question information
- Language:
- English Edit question
- Status:
- Answered
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Roderick SUMBERS for more information if necessary.