2011-04-12 42 views
0

我完成了NServiceBus的Pub/Sub示例。NServiceBus Pub/Sub示例和「Distributor」

我現在試圖圍繞着NServiceBus的「Distributorconcept

起初我非常困惑,因爲我認爲映射到「分銷商」的例子有一部分。我現在開始認爲情況並非如此。

因此,該示例顯示了2個運動部件。 A 發行人訂戶。但下一頁顯示至少4個移動部件。

  1. 訂閱數據庫
  2. 發佈方節點(P_1,P_2)
  3. 分銷
  4. 用戶節點(S_A_#,S_B_#)

它都做出了很大的意義,直到我到了這一點。現在我仍然想知道這些新玩家如何繪製出一個很好的清晰例子。 (或者我應該看一個新的例子嗎?)

我讀了關於這些的網頁,從概念的角度來看,這一切都是有道理的。但我不明白它在現實生活/代碼/示例中的工作原理。

如果我對我的問題太模糊了,讓我問一個更具體的問題:我需要對Pub/Sub示例做些什麼才能使用上面的4個部分?

回答

2

如果您採用基本Pub/Sub樣本,則需要添加幾個端點到混合中。每個分銷商端點將持有來自發布者的消息。每個分銷商的「後面」將是一組訂閱者,其行爲也將與工人一樣(您需要添加分銷商配置)。分銷商背後的每一組訂閱者都是相同的。一旦分銷商從發佈商處接收工作,他們將在訂戶中分發消息。

要設置這個,我會添加2個分銷商到樣品,並把訂戶1放在一個分銷商和訂購者2後面。首先確保所有的作品。然後旋轉每個實例(指向它們各自的分銷商),以便您可以觀察它們的負載平衡。最後,您將有一個發佈商,兩個分銷商和4個總訂閱者。從那裏你可以添加另一個發佈者來完成圖片。

+0

因此,分配器後面的每個訂購者都是一個冗餘物理節點? (這意味着它們並不是全部都會收到消息,只是其中的一個?) – Vaccano 2011-04-13 15:10:41

+1

您可以在每臺物理機器上安裝多個進程。訂戶的每個實例只會收到分銷商給它的信息。分配器和N訂戶節點的組合作爲一個邏輯訂戶。 – 2011-04-13 17:27:56