什么';这是在中等流量网站上实现消息队列的最佳方法


What's the best way to implement message queue on medium traffic website

首先,我的项目的一些基本信息:我有一个网站,每天约有1000名访客,使用Symfony 2构建。对于我正在考虑实现消息队列的一些任务,基于一些互联网评论,Rabbit MQ将是我的首选。

但我想我会有很多不同的任务类型(在第一阶段大约有10个任务),它们不会运行那么多。例如:我想要一个发送电子邮件的消息队列:我希望这些邮件能立即发送,所以创建一个cron作业是不可接受的,但我的网站可能每天发送5封电子邮件。

现在我想知道为每种任务类型创建消息队列是否更好。在这种情况下,我将不得不运行10个并发消费者。或者创建一个"通用"队列,它只执行带有消息中参数的Symfony2命令。

我认为最好、最"纯粹"的解决方案是第一个(10个队列),但我担心这有点"过头了"。。。

那么,有没有人有任何经验,愿意帮助我?

我也有同样的情况。我对建造类似的东西很感兴趣。

不幸的是,我仍在尝试设置该项目。到目前为止,我已经度过了一天,现在我可以收发信息了。我需要继续弄清楚文档所指的"服务"定义中的相关内容

当我有答案的时候,我会添加我的答案。

到目前为止,我所做的:

  1. 下载Symfony 2
  2. 增加了以下子模块

    git submodule add git://github.com/videlalvaro/RabbitMqBundle.git vendor/bundles/OldSound/RabbitMqBundle
    git submodule add git://github.com/videlalvaro/php-amqplib.git endor/videlalvaro/php-amqplib
    
  3. 遵循RabbitMqBundle上的说明。

我有一些工作,但还没有弄清楚什么是如何按照哪些惯例工作的。

我建议为每个需要执行的唯一任务创建不同的队列,并为队列分配优先级,以便首先执行最重要的操作,即使这些操作稍后与队列中的其他消息一起添加。

在队列处理器中,您可以使用消息体作为参数来执行不同的命令。