怎么解決冗余更新問題?
1.服務同步雙寫,業務方調用服務,服務先插入T1在插入T2返回插入成功。 優點:邏輯簡單,一致性高。缺點:處理時間增加,數據有可能不一致
2.服務異步雙寫,業務方調用服務,服務先插入T1,服務異步發出一個消息MQ,kafla調用另一個專門的服務來寫入冗余數據 優點:請求處理時間短
缺點:增加了業務復雜度,消息可能會丟失,有一個時間窗口還未收到信息 數據還是不一致。
3.線下異步雙寫,業務方調用服務,服務先插入T1,返回插入成功,數據會被寫入到log表中,線下服務讀取log表進行更新。
優點:數據雙寫跟業務解耦,請求處理時間短
缺點:不一致窗口,數據的一致性依賴線下的可靠性。