我正在尋找一種管理來自多個發佈者的消息流的方法。Azure服務總線中的發佈者公平排隊
一個人爲的例子是這樣的。
我的每個發佈商都在提交可分解爲可以按任意順序處理的較小組件的作業。每個組件需要幾秒鐘來處理。
發佈者A將作業提交給由1000個較小組件組成的隊列。使用者X訂閱隊列並開始處理隊列消息並將結果發送到結果隊列。
通過這項工作的一半,發佈者B提交了一個包含1000個組件的作業。
我希望消費者X現在在來自發布者A和發佈者B的消息之間進行切換,以便發佈者B在接收結果之前不需要等待第一個作業完成,而發佈者A現在只需接收更慢的結果即可B有工作。 (類似於網絡中的公平排隊)
這應該適合任何數量的發佈者。
如果我隨後擴大消費者,每個消費者應該以相同的方式行事。他們不需要協調他們的行爲來保證公平排隊,只是粗略的近似就可以。
在服務總線中是否有處理這種模式?是否有另一種天青技術我應該使用呢?
最簡單的方法是創建多個訂閱的主題不同的隊列,然後有多個消費者 – Thomas
謝謝@Thomas,我不明白這有什麼幫助。你能進一步解釋嗎? – Sudsy
Servicebus消息被處理爲FIFO。如果你想平行處理它們,最簡單的選擇是創建多個隊列 – Thomas