【发布时间】:2011-06-17 02:55:11
【问题描述】:
我们正在构建一个包含多个组件的应用程序,这些组件可能会通过 JMS 队列相互发送消息。有时,这些队列可能会出现重大延误(由于维护等)。
预计某些消息可能会变得陈旧 - 即它们存在的环境突然发生了变化,应该在下一个可用的机会时丢弃它们。
是否有用于实现此类“过时检查”的软件模式?有人提到了一些关于死蜗牛图案的事情,但我在 Google 上找不到任何参考资料...
【问题讨论】:
-
如何为每条消息附加一个生存时间 (ttl),并丢弃所有 ttl 已过期的消息?
-
假设我们通过消息代理发送 2,000 条 SMS 消息。经纪人 1 去 1,000,经纪人 2 去 1,000。现在经纪人 2 出现故障,两个小时后又回来了。现在在代理 2 上恢复的 1,000 条消息中有 3 条针对刚刚选择不接收 SMS 的个人。这只是一种情况,另一种可能是客户取消操作。设置 TTL 是不够的,但感觉就像存在某种模式。
-
也许这就是死蜗牛:zguide.zeromq.org/…
标签: design-patterns message-queue