Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 我应该如何识别微服务之间的共享域事件(事件源)契约?_Asp.net_Asp.net Core_Cqrs_Event Sourcing - Fatal编程技术网

Asp.net 我应该如何识别微服务之间的共享域事件(事件源)契约?

Asp.net 我应该如何识别微服务之间的共享域事件(事件源)契约?,asp.net,asp.net-core,cqrs,event-sourcing,Asp.net,Asp.net Core,Cqrs,Event Sourcing,问题是,我需要一种标准方法来对不同的微服务之间的域事件进行序列化和去序列化(通过每个类型事件的唯一标识符),因此,这些消息的契约类型必须与编程语言无关 事件的传递与微修正之间的之间是否有任何通信协议或标准,以便通过队列识别它们?对你来说最好的方式是什么?或者在net.Core?上传输这些事件的一些标准框架这是发布者/订阅者模型/事件模式的一种情况。通常,组织可以定义自己的事件消息格式,每个发布者(本例中的域,如客户、订单、产品、付款等)必须遵循该格式,然后订阅方应用程序/域将使用发布的事件[如果

问题是,我需要一种标准方法来对不同的微服务之间的域事件进行序列化去序列化(通过每个
类型事件的
唯一标识符
),因此,这些消息的契约类型必须与编程语言无关


事件的传递与微修正之间的
之间是否有任何通信协议或标准,以便通过队列识别它们?对你来说最好的方式是什么?或者在
net.Core

上传输这些事件的一些标准框架这是发布者/订阅者模型/事件模式的一种情况。通常,组织可以定义自己的事件消息格式,每个发布者(本例中的域,如客户、订单、产品、付款等)必须遵循该格式,然后订阅方应用程序/域将使用发布的事件[如果订阅]

虽然有许多选项可用于实现此功能,例如RabitMQ、Azure服务总线、Azure EventHUb以及Apache Kafka的开源Kafka或Azure事件集线器。您可能希望首先调整发布/订阅,以及什么合同最适合您的组织(您可以随时改进)


如果您感兴趣,请参阅使用RabitMQ的一些示例。

我们将事件作为外部事件复制到其他服务中。我们还使用共享事件模型向每个人传达即将发生的更改

那么Eventflow呢?