主從數據庫一致性問題

原因

  數據庫集羣的主從數據同步存在延時,延遲期間從庫上的讀請求會讀取到不一致的數據,如下圖所示。(不管同步還是異步,只要存在數據冗餘就存在數據一致性問題
在這裏插入圖片描述

解決方案

  整體思路:數據庫的主從同步可以實現數據的最終一致性,延遲時間一般在幾毫秒以內,因此可以按照業務對數據不一致時間的容忍程度設計對應的方案。

  1. 對於絕大部分業務來說,比如訂單、消息、搜索等場景,這些業務場景下是可以容忍幾毫秒的延時,因此可以直接忽略數據不一致問題;
  2. 對於不能容忍幾毫秒的不一致性的業務,則需要強制性讀主。強制性讀主太過暴力,一種優化手段是利用緩存記錄數據變更時間,如果請求的數據短時間內發生變更則讀主,否則讀從;

參考:

  1. 數據庫主從不一致,怎麼解?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章