1

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

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

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

有这样的消息队列实现吗?这个问题是否可以完全解决而无需在数据库中保留一些数据?

谢谢

4

1 回答 1

0

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

于 2009-04-11T06:39:32.347 回答