我试图找出实现队列系统的困难。我知道如何实现一个基本队列,所以我将解释一下我所追求的一些背景:
我将实现一个放置消息的队列,这将来自多个用户,消息将安排在用户定义的时间发布(允许以分钟为精度多次出现,从 UI 的角度来看,我将限制:“每分钟或每小时”发生,但 id 喜欢系统仍然能够处理这个)。
这是我的问题所在:最终我可能会处于当前需要发布许多消息的情况(也可能不是),我希望运行多个进程(脚本的多个实例)来获取一次来自队列的 [x,10,25] 条消息并处理它们。问题是:如何做到这一点,以便每个实例处理唯一的消息(不处理已经被另一个实例处理的东西)?我担心当前的连接、如何锁定记录以及我可能没有考虑的其他任何事情。
我将使用的技术是 PHP 和 MySQL。我正在寻找上述问题的一些解决方案,我应该在搜索中使用的术语,现实世界的例子,想法,评论和想法?
谢谢大家!
我遇到的一种解决方案是使用 Amazon Simple Queue Service ...它承诺独特的消息处理/锁定http://aws.amazon.com/sqs/