Will not database coupling endangers loose coupling achieved through RabbitMQ ?

asked 2011-03-28 13:02:54 -0500

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/availability through inbuilt RabbitMQ mechanisms.

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.

edit retag flag offensive close merge delete

4 answers

Sort by ยป oldest newest most voted
0

answered 2011-04-07 08:33:01 -0500

tomvn gravatar image

Are you guys discussing this internally until the design summit or would you be interested in suggestions from the masses?

edit flag offensive delete link more
0

answered 2011-03-28 18:41:41 -0500

Thanks Vish, Is there any way to specifically track down/ be informed of the followups of this design topic (bug report ?) when discussion advances, or will you publish news in this thread? R.

edit flag offensive delete link more
0

answered 2011-03-28 16:29:56 -0500

vishvananda gravatar image

Hi Roderick,

You are correct, and there are already plans to change this. We will be discussing it more at the design summit in a few weeks.

Vish

On Mar 28, 2011, at 6:05 AM, Roderick SUMBERS wrote:

Question #150766 on OpenStack Compute (nova) changed: https://answers.launchpad.net/nova/+q...

Description changed to: 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/availability through inbuilt RabbitMQ mechanisms.

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.


You received this question notification because you are a member of Nova Core, which is an answer contact for OpenStack Compute (nova).

edit flag offensive delete link more
0

answered 2011-03-30 01:13:34 -0500

vishvananda gravatar image

I have this flagged in my inbox to post something when there more information/blueprint, but in case i forget, try pinging in a couple weeks.

Vish

On Mar 28, 2011, at 11:41 AM, Roderick SUMBERS wrote:

Question #150766 on OpenStack Compute (nova) changed: https://answers.launchpad.net/nova/+q...

Status: Answered => Open

Roderick SUMBERS is still having a problem: Thanks Vish, Is there any way to specifically track down/ be informed of the followups of this design topic (bug report ?) when discussion advances, or will you publish news in this thread? R.


You received this question notification because you are a member of Nova Core, which is an answer contact for OpenStack Compute (nova).

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2011-03-28 13:02:54 -0500

Seen: 29 times

Last updated: Apr 07 '11