我正在研究(主要)Perl项目,并希望使用消息队列来隔离彼此之间的进程。我有这样的工作流程:
输入 - >接收器 - >处理器 - >输出(S)
我需要处理数百笔交易/秒,因此加快我的最大动力。这种类型的设置最快的消息队列系统是什么?
我的所有进程都在同一台机器上运行,因此如果它意味着更好的性能,我可以使用UNIX套接字或临时文件。
到目前为止,我最喜欢的是IPC :: DirQueue和beanstalkd。任何人都有这方面的经验,可以得出哪个更快的结论?
还有哪些可以在一台机器上制作超快工作队列?
答案 0 :(得分:3)
我不知道IPC :: Dirqueue或beanstalkd,但我在spread(使用Spread或Spread::Message模块)方面取得了很大成功。很容易做多进程(运行另一个守护进程)和多机器。好处是,因为它是基于组的,所以如果你想做日志记录,统计或调试等事情而不必改变(或减慢)你的处理器,你可以轻松地附加另一个监听器。