rabbitmq關於delivery_tag

delivery_tag是消息投遞序號,每個channel對應一個(long類型),從1開始到9223372036854775807範圍,在手動消息確認時可以對指定delivery_tag的消息進行ack、nack、reject等操作。

每次消費或者重新投遞requeue後,delivery_tag都會增加,理論上該正常業務範圍內,該值永遠不會達到最大範圍上限。可以根據每個消費者對應channel的delivery_tag消費速率計算到達最大值需要的時間。

假設:每秒鐘一個消費者可以消費1000w個消息(假設每個消費者一個channel),則 9223372036854775807 / (60 * 60 * 24 * 365 * 1000w) = 29247年後能達到上限數值。

 

參考:confirms#Limitation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章