0

Windows Service Bus 1.0用来在不同进程之间进行通信,每个上下文事件流作为一个主题存在于总线上。

使用服务总线在有界上下文之间链接事件我需要一种方法来同步事件(或者换句话说,请求重播过去的事件)当有界上下文重新联机但想要限制返回的潜在消息泛滥时只去到请求它的端点,至少如果这是可以通过使用现有服务总线功能轻松完成的事情。

所以给定一个虚构的 ContextC 发送一条消息来请求来自 ContextA 和 ContextB 的所有先前事件,有没有办法让这些重播消息只发送到 ContextC?

将上下文映射为主题所有者(或者换句话说,将单个总线订阅者映射到总线主题)以促进上述单播重播的最佳方式是什么?

4

1 回答 1

1

在我的世界里,我保持这些东西是松耦合的——每个上下文都把东西放在一个主题上,任何需要东西的人都订阅。

每个 SB 订阅都可以使用基于属性的服务总线的过滤工具(例如,您可以通过在消息上添加属性来标记事件,然后在订阅上设置过滤条件,这意味着只有列入白名单的事件类别适用于每个消费者)。

再加上您已经按主题分类的事实。

然后订阅和主题允许您处理事件而不会丢失任何事件或让发布者担心或追逐订阅者。

您还提到您在其他问题中将其绑定到事件存储 - 在这种情况下,您的消息有可能需要按顺序使用。如果是这种情况,您需要在消息中添加会话 ID。

我可以推测你为什么想要这个订户驱动的重新交付,但现在不会。在任何人回答如何使用服务总线最好地实现这一点之前,您需要先进一步解释/验证该概念和要求(通过提出解释您的更高级别目标的问题)。

于 2013-03-17T07:10:23.293 回答