資料同步永遠都躲不過的一致性問題。
跨機房的快取之間不一致
1、mq同步快取延遲在60~100ms,必定短暫不一致;
2、mq同步會出現失敗,必定短暫不一致,但是快取過期後會重新拿DB的資料,這時候就可以保證一致,就是所謂的最終一致性。
跨機房的DB之間不一致
1、otter同步一般在700~2000ms之間波動,因為資料庫同步會受到搶鎖,資料校驗,磁碟IO的影響,那麼就會出現短暫DB資料不一致;
2、極小機率出現otter資料同步失敗,otter有對應機制降低這種錯誤機率。(如果真的不一致只能由業務做補償操作)
同機房的快取和DB短暫不一致
1、mq同步快取的時間比otter同步速度快,短暫時間內不一致,資料到達後保證最終一致;
2、北方快取同步到了南方,但是快取過期了再次獲取DB資料的時候,otter還沒有同步資料過來,快取就會還是拿到了舊資料,因此也有機率出現數據短暫不一致。(這時候很需要延遲mq,延遲同步南北快取,寧願資料跨機房不一致,也不要同機房不一致)
資料同步永遠都躲不過的一致性問題。
跨機房的快取之間不一致
1、mq同步快取延遲在60~100ms,必定短暫不一致;
2、mq同步會出現失敗,必定短暫不一致,但是快取過期後會重新拿DB的資料,這時候就可以保證一致,就是所謂的最終一致性。
跨機房的DB之間不一致
1、otter同步一般在700~2000ms之間波動,因為資料庫同步會受到搶鎖,資料校驗,磁碟IO的影響,那麼就會出現短暫DB資料不一致;
2、極小機率出現otter資料同步失敗,otter有對應機制降低這種錯誤機率。(如果真的不一致只能由業務做補償操作)
同機房的快取和DB短暫不一致
1、mq同步快取的時間比otter同步速度快,短暫時間內不一致,資料到達後保證最終一致;
2、北方快取同步到了南方,但是快取過期了再次獲取DB資料的時候,otter還沒有同步資料過來,快取就會還是拿到了舊資料,因此也有機率出現數據短暫不一致。(這時候很需要延遲mq,延遲同步南北快取,寧願資料跨機房不一致,也不要同機房不一致)