1

我对 NServiceBus 分销商有一个小问题,这可能是我自己的无知,但这就是正在发生的事情 -

我有 -
一个。2 个工人(服务器)进程在 2 台机器上运行
b. 1 Distributor 进程向工人发布消息
c. 1 客户端进程向分发者发布消息

现在一切正常,当所有服务器都启动并运行时。

比如说,我现在关闭了 Worker 进程 #1,这样只有 Worker 进程 #2 正在运行。我现在等待一段时间,然后开始向分发者发布消息,我注意到总是有一些消息最终排队到工作进程#1(被关闭的进程)。

现在我想这是因为在关闭服务器之前已经向分发者指示它已准备好并且分发者正在响应这些控制消息。

我的问题是,有没有办法优雅地关闭连接到分配器的工作人员,通知它不应再向其排队。

谢谢。

4

1 回答 1

2

您可以通过向其发送 ChangeNumberOfWorkerThread 消息逐渐减少工作节点的工作线程数。在grid目录下有一个管理工具(我认为)可以使用,只需要进入distributor queue和每个worker queue即可。

于 2010-07-23T19:34:52.997 回答