1

我的核心問題是如何在NServiceBus中擴展訂戶。請讓我知道我做錯了什麼或我錯過了什麼。我很樂意回答有關我的設置的任何問題。NServiceBus - 在主服務器和工作服務器之間擴展用戶重複事件

場景:

我看到了什麼,我希望在我試圖向外擴展用戶不正確的行爲。我有機器01上的主人和機器02上的工人。我卸載了這兩個服務並重新安裝了「NServiceBus.Production NServiceBus.Master」作爲主服務器的命令行,並且與工作人員的NServiceBus.Worker相同。兩種服務都可以在兩個線程可用的情況下正常運行我運行了我的場景的第一部分,關閉了服務,隊列數量與下面的第一個列表相同。注意師父和工人的816條信息?我認爲使用Production命令行進行安裝會導致這兩個服務共享相同的訂閱信息,只有主人才會收到訂閱的事件,但我錯了。這些都是工人和主人的純粹愚蠢行爲。

第二組隊列計數是啓動這兩個服務並讓它們完成處理的結果。注意02上的工人服務是如何處理他原來的816以及經銷商給他的?

對主網關,重試和超時隊列和重試和超時隊列工人沒有列出來,因爲它們的值是0的隊列和期刊兩者之前並運行服務後

//服務OFF * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor.distributor ·控制

Queue Messages: 0 

Journal Messages: 0 

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor.worker

Queue Messages: 0 

Journal Messages: 0 

FormatName:DIRECT = OS:vm-01 \ private $ \ creditalertnotificationprocessor.distributor。存儲

Queue Messages: 5 

Journal Messages: 0 

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor

Queue Messages: 816 

Journal Messages: 0 

FORMATNAME:DIRECT = OS:VM-02 \私人$ \ creditalertnotificationprocessor

Queue Messages: 816 

Journal Messages: 0 

//服務開(並完成)* ** * ** * ** * ** * ** * ** * ** * ** * ** * ****

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor.distributor.control

Queue Messages: 0 

Journal Messages: 1634 

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ CRE ditalertnotificationprocessor.worker

Queue Messages: 0 

Journal Messages: 483 

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor.distributor.storage

Queue Messages: 824 

Journal Messages: 817 

FORMATNAME:DIRECT = OS:VM-01 \私人$ \ creditalertnotificationprocessor

Queue Messages: 0 

Journal Messages: 816 

FORMATNAME:DIRECT = OS:VM-02 \私人$ \ creditalertnotificationprocessor

Queue Messages: 0 

Journal Messages: 1149 

工人配置文件...

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" /> 
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" /> 
    <section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" /> 
    <section name="MasterNodeConfig" type="NServiceBus.Config.MasterNodeConfig, NServiceBus.Core" /> 
    </configSections> 

    <MasterNodeConfig Node="vm-01"/> 

    <UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Messages="Sample.Common.Messages.Commands.LogMessage, Sample.BusFramework.Common" Endpoint="[email protected]" /> 
     <add Messages="Sample.Credit" Endpoint="Sample.Credit.AlertBackfillProcessor" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 
    <MessageForwardingInCaseOfFaultConfig ErrorQueue="error" /> 
    <MsmqTransportConfig NumberOfWorkerThreads="2" MaxRetries="1" /> 

    <connectionStrings> 
    <add name="ApplicationLog" connectionString="" providerName="" /> 
    <add name="ProductFulfillment" connectionString="" providerName="" /> 
    </connectionStrings> 

    <appSettings> 
    <add key="BusLoggingThreshold" value="DEBUG"/> 
    </appSettings> 

</configuration> 
+0

你可以發佈工人的配置文件嗎? – 2012-08-01 20:05:54

回答

1

你並不需要通過在配置的MessageEndpointMappings認購。 Master將訂閱並委託處理到這個節點。您看到重複的內容,因爲工作人員是自己訂閱的。

+0

謝謝。我從來沒有想過爲工作者移除MessageEndpointConfig。 – 2012-08-07 20:46:56

相關問題