为什么要使用命令?活动似乎很合适

时间:2019-04-01 06:43:49

标签: rabbitmq messaging nservicebus azure-eventgrid

在特定情况下,发送事件不够好,我们必须发送命令吗?

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

看来这里很适合举办活动。如果以后我们需要系统C以接受的顺序执行某项操作,我们可以让它监听事件。如果使用事件而不是命令,我不确定是否会错过某些事情。

1 个答案:

答案 0 :(得分:4)

简短的回答:命令具有丰富的数据,适用于耦合度较高的内部服务/组件通信,事件的数据较少(通常仅是IDs),适用于耦合度较弱的跨边界通信在发布者和订阅者之间。

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