我正在处理一个包含消息队列概念的项目。现在该项目采用PHP,并且在邮件发送或邮件发送方面造成更多延迟。所以我建议用Perl或Python脚本开发一个消息队列。你能否建议PHP或Perl或Python哪个最好?
答案 0 :(得分:6)
可能的解决方案是将Gearman用作队列:
另一个优势:当您需要多台服务器来处理大量工作时,您已经拥有了所需的东西:Gearman将为您处理负载平衡。
答案 1 :(得分:2)
PHP非常适合实现简单的消息队列。因此,如果您当前的代码导致延迟,那么这是因为您的设计,而不是因为PHP的某些限制。切换到其他语言不会对您有所帮助。糟糕的代码是错误的代码,无论语言如何。
您可以做的最好的事情是使用现有的消息队列。 Pascal建议Gearman。我曾与Beanstalkd合作过(并且非常喜欢)。如果您需要一定量的功能,请查看ApacheMQ或RabbitMQ。
那就是说,如果你坚持实现自己的消息队列,我建议坚持使用PHP。这样您就可以重用现有应用程序中的代码(例如,重新使用您的模型和数据库API)。
答案 2 :(得分:1)
以下是gearman的两种选择
一个。 Beanstalkd 湾MemcacheQ
MemcacheQ http://memcachedb.org/memcacheq/
需要使用代码手动完成从队列添加和提取。
它不像你发送它到队列,MemcacheQ将逐个执行它。
但它非常快。
Beanstalkd
http://kr.github.com/beanstalkd/download.html
它支持多种语言。