Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl、PHP、Python中的消息队列_Php_Perl_Message Queue - Fatal编程技术网

Perl、PHP、Python中的消息队列

Perl、PHP、Python中的消息队列,php,perl,message-queue,Php,Perl,Message Queue,我正在处理一个包含消息队列概念的项目。现在这个项目是用PHP实现的,它在消息发送或邮件发送方面造成了更多的延迟。因此,我建议用Perl或Python脚本开发一个消息队列。您能建议PHP、Perl或Python中哪一种是最好的吗?一种可能的解决方案是用作队列: 您的PHP项目将向Gearman发送消息,作为后台作业;完成 Gearman会将这些信息发送给工人 工人们将处理这些工作——做可能需要时间的事情 另外一个好处是:当您需要多台服务器来处理大量作业时,您已经拥有了所需的:Gearman将为

我正在处理一个包含消息队列概念的项目。现在这个项目是用PHP实现的,它在消息发送或邮件发送方面造成了更多的延迟。因此,我建议用Perl或Python脚本开发一个消息队列。您能建议PHP、Perl或Python中哪一种是最好的吗?

一种可能的解决方案是用作队列:

  • 您的PHP项目将向Gearman发送消息,作为后台作业;完成
  • Gearman会将这些信息发送给工人
  • 工人们将处理这些工作——做可能需要时间的事情

另外一个好处是:当您需要多台服务器来处理大量作业时,您已经拥有了所需的:Gearman将为您处理负载平衡。

PHP完全可以实现简单的消息队列。因此,如果您当前的代码导致延迟,那么这是因为您的设计,而不是因为PHP的某些限制。换一种语言对你没有帮助。不管语言如何,坏代码都是坏代码

您可能能做的最好的事情是使用现有的消息队列。帕斯卡推荐。我曾经和(而且非常喜欢)一起工作过。如果您需要一公吨的功能,请查看或


也就是说,如果您坚持实现自己的消息队列,我建议您坚持使用PHP。这样,您就可以重用现有应用程序中的代码(例如,重用您的模型和数据库API)。

以下是gearman的两个备选方案

a。豆茎 BMemcacheQ

MemcacheQ
从队列中添加和获取数据需要使用代码手动完成。 它不像您将它发送到队列,MemcacheQ将逐个执行它。 但是它非常非常快

豆茎

它支持多种语言。

您目前使用的是什么排队机制!你能告诉我们更多关于你将要使用的队列的性质吗?更不用说它已经可以与Perl、PHP和Python一起工作了,如果你需要跨语言交流,这是一件很容易的事。这正是我在OP的另一篇文章中所想的。