为何使用命令?事件似乎很合适

问题描述 投票:-1回答:1

是否存在发送事件不够好且我们必须发送命令的特定情况?

例如,有一个系统(A)接收和订购+订单。系统A验证订单。如果订单有效,则另一个系统(B)需要进行更多处理。我们可以从A发送命令到B(请处理订单命令)或者我们可以从A发送事件到B(订单被接受的事件)。

看起来事件在这里很合适。如果我们以后需要System C对接受的订单做一些事情,我们可以让它听取事件。如果我使用事件而不是命令,我不确定是否会遗漏某些内容。

rabbitmq messaging nservicebus azure-eventgrid
1个回答
4
投票

简短回答:命令是数据丰富的,用于内部服务/组件通信,其中存在高耦合,事件在数据中很轻(通常只有Ids)并且意味着用于跨边界通信,其中发布者之间存在松耦合和订户。

更多信息:https://particular.net/blog/putting-your-events-on-a-diet

© www.soinside.com 2019 - 2024. All rights reserved.