場景一:服務器
發送方客戶端正常,接入服務器Down機。路由
這種場景下,客戶端發送的消息會出現兩種狀態。第一種是,接入服務器已經送入路由服務器中進行轉發,可是尚未回ACK給客戶端。第二種是,消息還沒有進入路由服務器進行轉發。客戶端
場景二:消息
發送方客戶端Down機,接入服務器正常。
這種場景下,客戶端發送的消息也存在兩種狀態。第一種是,接入服務器極影送入路由服務器中進行轉發,同時回覆ACK。
第二種是,該消息直接發生了丟失,接入服務器沒有收到。
場景三:
接收方客戶端不斷的閃連,接入服務器正常。
這種狀況下,離線消息和即時消息會出現兩種狀態。第一種是,消息路由給客戶端了,ACK丟失。第二種是,消息還沒有路由給客戶端,就發生丟失。
這是最多見的三個場景,也是最容易處理的場景,至於怎麼處理,你們都清楚我就很少廢話了。
場景四:
發送方客戶端不斷的閃連,接入服務器間歇性Down機。
這種狀況下,消息存在的狀態就比較複雜了,可是無非是上三種狀況的排列組合。