And*_*ich 42
我使用mongodb作为电子邮件发送的队列服务.很快它将以下列方式工作:
Processing
为true,因此它不会处理相同的消息两次(因为我的后台作业并行运行多个线程).一般情况下,我使用mongodb作为队列服务只是出于一个原因:因为我需要按指定的时间表发送电子邮件(每条消息都包含有关应该发送的时间的信息).
如果您没有任何计划并且需要立即处理消息,我建议您查看现有的队列服务,因为它们可能会处理您在没有更深入了解消息队列时可能看不到的所有情况.
当后台作业在消息处理期间崩溃时,您可以执行以下操作:
将此消息移动到另一个消息队列错误集合或..
在邮件中增加处理尝试计数器并再次分配状态"新建",以尝试再次处理它.只需确保后台作业是幂等的(可以多次处理相同的消息而不是损坏数据)和事务性(当作业失败时,您必须撤消所做的更改.如果有的话).5次尝试(配置值)后作业失败时执行#1.
一旦修复了消息处理的错误,您可以通过分配"新"状态并移动到消息队列再次处理它,或者只删除此消息.它实际上取决于业务流程.
我知道这个问题是从2012年开始的,但是在我自己的研究中我发现了这篇文章并且只是想告诉任何其他用户,来自serverdensity的开发人员取代了rabbitmq,转而选择了一个简单的mongodb排队系统.
这里给出了详细的文章:
https://blog.serverdensity.com/replacing-rabbitmq-with-mongodb/
归档时间: |
|
查看次数: |
28075 次 |
最近记录: |