【问题标题】:Message queue that delivers delayed messages and checks for uniqness传递延迟消息并检查唯一性的消息队列
【发布时间】:2010-10-18 21:13:34
【问题描述】:

我有一个在线服务接收传入事件(每秒很少)。服务需要在 30 秒或更长时间没有事件时处理作业。服务分布在多台 PC 上,并使用 Amazon Web 服务(SQS 和 SimpleDB)作为主干。

我了解当有传入事件时如何安排作业(只需将消息放入消息队列即可完成),但是当条件为“X 秒内没有事件”时如何安排作业?

理想情况下,我想要一个不允许重复消息、允许为未来安排并允许调整每条消息的“交付日期”的消息队列。

有这样的消息队列实现吗? 这个问题是不是不用在数据库中持久化一些数据就可以解决?

谢谢

【问题讨论】:

    标签: data-structures message-queue


    【解决方案1】:

    BizTalk 或 SQL Server Service Broker 都符合您的要求。如果它们太重,您可以编写一个简单的服务,每隔几秒查看一次队列,如果在 30 秒内没有看到任何内容,则超时。但是,跨机器水平扩展会更加困难。

    【讨论】:

    • 我想你错过了这个问题。我发现我需要的是“消息分组”,看起来 AMQP 有它。似乎任何具有通知的分布式缓存都可以解决问题。我现在正在看微软的 Velocity...
    猜你喜欢
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    相关资源
    最近更新 更多