Perl Monk, Perl Meditation | |
PerlMonks |
Re: Async Net::AMQP::RabbitMQby ait (Hermit) |
on Jun 29, 2020 at 14:55 UTC ( [id://11118657]=note: print w/replies, xml ) | Need Help?? |
Hi there dcpetrov, Whilst I am not familiar with the Net::AMQP::RabbitMQ particulars, is RabbitMQ your only option for MQ?
Many times I have found that most MQ needs can easily be handled in simpler ways. For example, in Postgres 9.5 onward incorporates "skip locked" which allows you to implement simple queues right on your database rather that incorporating yet another tool, especially not one written in But seriously, if you happen to be using pg as your RDBMS already, or are a fan of KISS (not necessarily the rock band), PostgreSQL's native support to implement MQ can easily handle 10K TPS which is usually much more that you will need on most MQs. Not saying you can always replace a dedicated MQ system, but many times, there is rarely a need to implement a full fledged MQ. Moreover, lots of programming tasks could benefit from implementing more MQs but coders shy away because of the complexity and the need to incorporate yet another technology to your stack. For these situations, simple and native Postgres MQs are very apt. E.g. you can implement a queue on any table, with any structure and pop it with a simple query like so (BTW works great on DBD:Pg):
Here is a good introduction:
If you are worried about performance of Pg in general:
There is also a specialized MQ on Pg called PGQ. I have never used it so can't comment more:
Finally, not sure if this is still maintained but I used this POE-based MQ system many years ago and it was quite good. IIRC you don't even need to know POE to use it:
In Section
Seekers of Perl Wisdom
|
|