在分布式系统中拥有一个共享和专用的汇编或库是常见的做法



我正在谈论分布式域驱动设计背后的某些概念,我正在建立概念证明。我有三个C#解决方案在整个系统中具有特定的责任。

我拥有的解决方案是:

  • 写模型(从客户端接收命令并创建和发送事件)
  • 读取模型(从写模型接收事件,创建数据库并将DTO服务公开向客户端,可能是2个单独的解决方案)
  • 客户端(调用服务以获取所需的数据并将命令发送到写模型)

所有三个解决方案都通过服务总线使用消息(命令,事件)。(就我而言,MassTransit)。

我的主要问题是:使用消息创建一个汇编并在每个解决方案引用的情况下进行汇编?

额外的信用:在此POC中,我正在做的事情似乎很奇怪或有问题吗?创建此类系统时,我应该知道还有什么其他信息?

使用消息创建一个组装并具有很常见的做法 每个解决方案参考?

是。这是通讯系统的普遍做法。例如,许多nservicebus样品采用了这种方法。将此大会视为代表您的合同。在基于不同平台的系统中,此表示形式将以XSD模式或其他模式定义机制的形式出现。

我正在做任何事情似乎很奇怪或有问题 POC?创建此类型时我应该知道的任何其他信息 系统?

到目前为止,一切似乎都适合CQR。公平地说,我应该提到,将CQRs作为银色子弹和结构系统带走很容易。一起放弃CQR通常是一个明智的决定。继续关注业务领域,并使用CQR作为建筑风格来实现您的系统,而不是指导其模型。

最新更新