【发布时间】:2020-02-17 09:28:51
【问题描述】:
我有一个名为 CompanyUpdated 的事件,每次更新公司资料时都会引发该事件。 我需要两个听众来收听这个事件。一个用于搜索服务,用于更新 Azure 搜索的数据,另一个用于更新目录管理中的公司详细信息。
我可以创建两个监听器来监听这个事件吗?
另外,是否可以在两个不同的微服务中将两个监听器命名为同名?
【问题讨论】:
我有一个名为 CompanyUpdated 的事件,每次更新公司资料时都会引发该事件。 我需要两个听众来收听这个事件。一个用于搜索服务,用于更新 Azure 搜索的数据,另一个用于更新目录管理中的公司详细信息。
我可以创建两个监听器来监听这个事件吗?
另外,是否可以在两个不同的微服务中将两个监听器命名为同名?
【问题讨论】:
Rabbit MQ 支持发布订阅。您应该创建两个队列并使用将消息路由到两个队列的交换器(如扇出交换器)。那么 Azure 搜索的监听器应该监听一个队列,目录管理监听器应该监听另一个队列。
这将保证两个侦听器都会收到该事件。
我不能对 asp.net 发表太多评论,因为我对 .Net 平台没有任何经验。 不过,您可以阅读Pub-Sub implementation tutorial for C# 了解更多详情。
【讨论】: