2013-03-08 47 views
1

目前進出口評估NSB的經銷商,發現當我運行的經銷商和我自己的機器上幾個工人,然後爲每個工人隊列名稱中附加一個GUID。NServiceBus工人端點

據烏迪,自己掌握:),在這個帖子:Distributor and worker end point queue in same machine

的原因是,NSB假設你是在測試設置運行。

問:

但如果我1臺單獨的機器上運行4名工人,會發生什麼? 將那臺機器上的隊列名稱再次使用GUID 附加是工人能夠在遠程機器上共享同一隊列只是因爲經銷商是什麼?我沒想到有1臺遠程機器,併產生新的隊列名稱每次啓動機器是不是出於維護目的是一個好主意時多工人

的問題是很重要的。

親切的問候

回答

2

但如果我1臺單獨的機器上運行4名工人,會發生什麼?
你爲什麼要這樣做?

每個工人可以被配置爲運行多個工作線程。這就是爲什麼它沒有意義在一臺機器上運行多個工人...

我會增加一個工人正在使用,直到這臺機器上達到最大吞吐量的線程數。然後,向外擴展到另一臺機器......所以,每盒一個工人,每個工人

多線程見here的詳細信息,NumberOfWorkerThreads配置

+0

我想多進程的原因是因爲我們使用的是NSB到scaleout的因爲一些非常糟糕的設計,這個系統非常難以多線程化。使用1個進程和1個線程在單獨的處理程序中運行每條消息可以實現100%的分離,這意味着我們可以快速擴展,而無需重新編寫對於線程很危險的舊代碼。我們嘗試了一段時間來實現相似但很少或沒有成功。這說我還沒有嘗試啓用多線程我NSB工作。 NSB有可能有更好的線程分離,生病回到你身上。 – 2013-03-09 07:44:42

+1

只需在同一臺機器上運行同一端點的多個副本。這會給你想要的東西 – 2013-03-09 07:55:02

+0

THX,但運行在同一臺機器上的工人的多個副本是我目前在做什麼,而這也是什麼原因導致使用GUID附加隊列中出現的每個工人(工人在託管我自己的過程)。在同一臺機器上運行多份工作人員時,是否有辦法繞過Guid?我在這裏錯過了關於工人分銷商端點設置的重要事情嗎? – 2013-03-09 09:52:37

相關問題