单台机器最快的 Perl IPC/消息队列是啥?

Posted

技术标签:

【中文标题】单台机器最快的 Perl IPC/消息队列是啥?【英文标题】:What's the fastest Perl IPC/message queue for a single machine?单台机器最快的 Perl IPC/消息队列是什么? 【发布时间】:2010-12-12 21:03:28 【问题描述】:

我正在开发一个(主要是)Perl 项目,并希望使用消息队列将进程彼此隔离。我有这样的工作流程:

输入 -> 接收器 -> 处理器 -> 输出

我需要每秒处理数百笔交易,所以加快我的最大动力。这种设置最快的消息队列系统是什么?

我的所有进程都在同一台机器上运行,所以如果这意味着更好的性能,我可以使用 UNIX 套接字或临时文件。

到目前为止,我最喜欢的两个是 IPC::DirQueue 和 beanstalkd。任何人都有这两种方法的经验并且可以得出结论哪个更快?

还有什么可以在单台机器上实现超快速工作队列?

【问题讨论】:

【参考方案1】:

我不知道 IPC::Dirqueue 或 beanstalkd,但我在 spread(使用 Spread 或 Spread::Message 模块)方面取得了很好的成功。多进程(运行另一个守护进程)和多机器很容易。好消息是,由于它是基于组的,如果您想要执行诸如日志记录、统计或调试之类的操作,而无需更改(或减慢)您的处理器,您可以轻松地附加另一个侦听器。

【讨论】:

我不禁为此欢呼。在我以前的工作中使用了几年的快乐用户,甚至从作者那里获得了一些付费定制支持——世界级的。 谢谢。我以前有过与 OP 类似的任务,但我从未遇到过传播。有机会我会试一试的!

以上是关于单台机器最快的 Perl IPC/消息队列是啥?的主要内容,如果未能解决你的问题,请参考以下文章

perl 消息队列

linux里的ipc是啥意思

Perl 中字符串的最快校验位例程是啥?

IPC - 消息队列(Message Queue)- 使用

IPC - 消息队列(Message Queue)- 使用

IPC - 消息队列(Message Queue)- 使用