【问题标题】:One bus or separate buses in CQRS?CQRS 中的一辆巴士还是单独的巴士?
【发布时间】:2012-11-07 14:28:47
【问题描述】:

我想知道我是否应该有一个总线来注册我的命令/事件和命令处理程序/事件处理程序,或者我的应用程序现在有许多有界上下文,我应该有单独的总线吗?

有什么好处和坏处?

【问题讨论】:

    标签: architecture cqrs servicebus


    【解决方案1】:

    总线应该主要被视为基础架构问题,而不是域问题。您将如何部署您的应用程序?

    【讨论】:

    • 这里有点困惑。因为这是我的第一个 CQRS 项目,所以我遵循了 Greg Young 的简单 CQRS 项目,该项目有一个注册事件和命令的总线。然后我开始阅读有关 DDD 的更多信息,当我在不同的域中工作时,我创建了一个为该域注册命令的总线。然后当我在其他领域工作时,我创建了另一条总线并在那里注册了命令。所以也许我在这种情况下对公共汽车的理解是错误的。当时只是觉得在逻辑上做正确的事。你提到部署,你的意思是如果我使用 NSB 等?
    • 如果您向您的域公开总线抽象,您仍然可以选择在运行时确定所提供总线的性质。也就是说,在一个进程(即内存总线)或不同机器(服务总线)上部署两个 BC 时,您可以做出不同的选择。或者为低优先级和高优先级消息注入不同的总线到不同的处理程序。
    【解决方案2】:

    总线是一种传输,如果您的某些上下文的消息流量较低,您可以为它们使用单​​个总线,但对于其他一些上下文,您需要多条总线来传输一个上下文消息。

    【讨论】:

    • 你能给我举个例子来说明你的意思吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 2020-06-28
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多