Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
多系统环境中的NServiceBus发布_Nservicebus - Fatal编程技术网

多系统环境中的NServiceBus发布

多系统环境中的NServiceBus发布,nservicebus,Nservicebus,我在一个系统上工作,我们在多个国家拥有相同的网站。每个网站都有自己的服务。一切都很好,但我总是发现自己不得不发送消息,而不是作为消息发布,否则我知道其他服务,这是完全不相关的。对我来说,发布到许多服务,然后过滤其相关性,这听起来毫无意义 当我想将消息发布到某个服务子集时,是否有一种做法需要我处理?其他人是如何处理这个问题的?您能否描述一下确定特定端点系统相关性的逻辑?发布和订阅的目的是,系统中存在其他端点可以订阅的事件。 你不应该对你的订户有所了解。那么如何确定相关性呢 如果这些消息与特定端点无

我在一个系统上工作,我们在多个国家拥有相同的网站。每个网站都有自己的服务。一切都很好,但我总是发现自己不得不发送消息,而不是作为消息发布,否则我知道其他服务,这是完全不相关的。对我来说,发布到许多服务,然后过滤其相关性,这听起来毫无意义


当我想将消息发布到某个服务子集时,是否有一种做法需要我处理?其他人是如何处理这个问题的?

您能否描述一下确定特定端点系统相关性的逻辑?发布和订阅的目的是,系统中存在其他端点可以订阅的事件。
你不应该对你的订户有所了解。那么如何确定相关性呢


如果这些消息与特定端点无关,为什么要订阅这些消息?

默认情况下,端点订阅所有消息。如果只希望某些端点订阅特定集,则需要将端点配置为DoNotAutoSubscribe()。然后,您必须明确订阅端点将感兴趣的每种消息类型。使用Bus.subscribe()。

如果它确实是一条事件消息,则需要发布该消息。如果您需要发布到某个子集,那么您可以拥有一个独立的订阅存储,该端点将使用该订阅存储

通常,应由订阅者确定接收到的事件是否相关,但如果您事先有相关信息,则可以使用单独的订阅存储

在我的FOSS ESB项目中(http://shuttle.codeplex.com/)必须向ESB提供
ISubscriptionManager
实现,以确定要向其发送已发布消息的订户URI。尽管这可能有些过分,但可以提供一个自定义实现,其中包含一些执行过滤的逻辑;否则,将创建单独的订阅存储