0

一个服务器由 master+worker 端点组成而另一台服务器由worker 组成的横向扩展场景中,在完成处理给定事件后从端点 调用bus.Publish是否安全?(请记住 bus.Publish 可以从位于工作服务器上的端点调用)。

我最初的反应是它不安全,因为这听起来像是你永远不应该从网络服务器调用发布的例子......

我们当然可以使用 WCF 包装器并调用仅存在于 master+worker 端点服务器上的服务,但是有人对此有任何实际经验吗?

谢谢!

4

2 回答 2

1

每个逻辑订阅者都有一个接收端点。如果您使用的是分发服务器,那么这是分发服务器端点或分发队列(如果您愿意的话)。因此订阅者将订阅特定事件并指定其接收端点。发布者将不知道它是单个端点实例,还是接收消息的分发者。

然后分发者将消息发送给准备好处理消息的工作人员。

对此页面进行了更详细的解释,并在此页面上提供了一些清晰的图像:http: //docs.particular.net/nservicebus/scalability-and-ha/distributor/publish-subscribe

于 2016-04-18T06:21:15.070 回答
0

最后,我们将我们的 Web 应用程序设为“仅发送端点”,这实质上意味着它们只是通过选择的传输(在我们的例子中为 MSMQ)直接将命令发送到端点。一旦我们需要扩展,我们最终将实施“Sender Side Distribution”,而不是利用分发器。

来自 NSB 支持团队:“如果您添加更多端点,则发送方分发是可行的方法。它充当在发送方运行的循环机制,当您向外扩展时,它会将消息发送到不同的“工作”端点。”

https://docs.particular.net/transports/msmq/sender-side-distribution

如果您只需要从网站或其他一些应用程序/服务中触发并忘记消息,我会推荐这种方法 - 它非常简单。

于 2019-04-30T16:07:19.047 回答