morgon has asked for the wisdom of the Perl Monks concerning the following question:
in my current project we will have several cooperating Perl-processes running on several machines.
What we are currently thinking about is not having these processes talk directly to each other but decoupling them via a queuing middle-tier in which each processes would communicate indirectly via (persistent) queues.
We are running on Linux and use Oracle for the backend.
The question is now how to implement such a queuing infrastructure.
I can currently see four ways for us to achieve this:
1) Roll your own.
2) Use Spread.
3) Use database-tables are queues.
4) Use Oracle Advanced Queuing.
Currently I am trying to evalute options 2-4 and would welcome any feedback on specific pros and cons that more experienced monks see.
Personally I quite like Spread (so far - I don't have a lot of experience with it), however I am also seeing the advantages of Oracle Advanced Queuing as it would permit us to have a process dequeue a message, do it's business-logic, update some database-state and finally enqueue new messages all in one database-transaction.
So could you please provide some enlightenment?
Many thanks
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: decoupling processes via queues: advice wanted
by rcaputo (Chaplain) on Apr 19, 2009 at 18:33 UTC | |
Re: decoupling processes via queues: advice wanted
by dHarry (Abbot) on Apr 19, 2009 at 18:19 UTC | |
by morgon (Priest) on Apr 19, 2009 at 18:38 UTC | |
by dHarry (Abbot) on Apr 20, 2009 at 07:21 UTC | |
by morgon (Priest) on Apr 20, 2009 at 09:31 UTC | |
Re: decoupling processes via queues: advice wanted
by andreas1234567 (Vicar) on Apr 20, 2009 at 12:14 UTC | |
Re: decoupling processes via queues: advice wanted
by mrons (Beadle) on Apr 21, 2009 at 04:04 UTC |