2017-03-31 71 views
0

如果讓我們說一個web應用的4個實例,並且在服務總線隊列中排隊的大量消息(意味着要訪問所有4個實例)和webapp縮小到只有2個實例。服務總線上的消息是否會被刪除,直到超過時間才被刪除,或者服務總線是否理解不再有4個實例,因此它不需要發送消息到4個實例?當webapp向外擴展到較少的實例時,Azure服務總線消息

我不確定這是否正確,但從我的理解中,通常有一個主題,然後多個訂閱?服務總線是否會明白其中一個實例(誰擁有訂閱)已經消失,然後在消息排隊時刪除用於該訂閱的消息(之前有很多其他消息)?

對不起,如果問題有點笨,但我無法找到任何在互聯網上的答案。

回答

0

會消息,在註定了被拆除,其他兩個實例,該服務總線,停留在隊列中,直到住的時間超出,然後取出

服務總線隊列主題訂閱提供輔助子隊列,稱爲死信隊列(DLQ)。 死信隊列的目的是保存無法傳遞給任何接收者的消息,或僅包含無法處理的消息。更多詳情請參考document

服務總線是否知道不再有4個實例,因此它不需要向4個實例發送消息?

服務總線隊列提供先入先出(FIFO)消息和服務總線隊列消息僅由一個消息使用者接收和處理。如果我們有多個Web實例,當任務到達時,WebApp負載平臺(ARR)會將請求分配給相應的實例來處理消息。如果該實例已被刪除,則Web應用程序loadBlance(ARR)會將該請求分配給現有實例。

將服務總線明白當實例(誰擁有訂閱)的一個走了,然後刪除意味着該預訂,而消息排隊消息(很多其他消息之前)?

如上所述,它是由WebApp LoadBlance分配的不是服務總線。如何使用消息取決於您的WebApp。

相關問題