日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在聊數(shù)據(jù)庫與緩存一致性問題之前,先聊聊數(shù)據(jù)庫主庫與從庫的一致性問題。

問:常見的數(shù)據(jù)庫集群架構如何?

:一主多從,主從同步,讀寫分離。

數(shù)據(jù)庫主從不一致,怎么解?

 

如上圖:

(1)一個主庫提供寫服務

(2)多個從庫提供讀服務,可以增加從庫提升讀性能

(3)主從之間同步數(shù)據(jù)

畫外音:任何方案不要忘了本心,加從庫的本心,是提升讀性能。

問:為什么會出現(xiàn)不一致?

:主從同步有時延,這個時延期間讀從庫,可能讀到不一致的數(shù)據(jù)。

數(shù)據(jù)庫主從不一致,怎么解?

 

如上圖:

(1)服務發(fā)起了一個寫請求

(2)服務又發(fā)起了一個讀請求,此時同步未完成,讀到一個不一致的臟數(shù)據(jù)

(3)數(shù)據(jù)庫主從同步最后才完成

畫外音:任何數(shù)據(jù)冗余,必將引發(fā)一致性問題。

問:如何避免這種主從延時導致的不一致?

:常見的方法有這么幾種。

方案一:忽略

任何脫離業(yè)務的架構設計都是耍流氓,絕大部分業(yè)務,例如:百度搜索,淘寶訂單,QQ消息,58帖子都允許短時間不一致。

畫外音:如果業(yè)務能接受,最推崇此法。

如果業(yè)務能夠接受,別把系統(tǒng)架構搞得太復雜。

方案二:強制讀主

數(shù)據(jù)庫主從不一致,怎么解?

 

如上圖:

(1)使用一個高可用主庫提供數(shù)據(jù)庫服務

(2)讀和寫都落到主庫上

(3)采用緩存來提升系統(tǒng)讀性能

這是很常見的微服務架構,可以避免數(shù)據(jù)庫主從一致性問題。

方案三:選擇性讀主

強制讀主過于粗暴,畢竟只有少量寫請求,很短時間,可能讀取到臟數(shù)據(jù)。

有沒有可能實現(xiàn),只有這一段時間,可能讀到從庫臟數(shù)據(jù)的讀請求讀主,平時讀從呢?

可以利用一個緩存記錄必須讀主的數(shù)據(jù)。

數(shù)據(jù)庫主從不一致,怎么解?

 

如上圖,當寫請求發(fā)生時:

(1)寫主庫

(2)將哪個庫,哪個表,哪個主鍵三個信息拼裝一個key設置到cache里,這條記錄的超時時間,設置為“主從同步時延”

畫外音:key的格式為“db:table:PK”,假設主從延時為1s,這個key的cache超時時間也為1s。

數(shù)據(jù)庫主從不一致,怎么解?

 

如上圖,當讀請求發(fā)生時:

這是要讀哪個庫,哪個表,哪個主鍵的數(shù)據(jù)呢,也將這三個信息拼裝一個key,到cache里去查詢,如果,

(1)cache里有這個key,說明1s內剛發(fā)生過寫請求,數(shù)據(jù)庫主從同步可能還沒有完成,此時就應該去主庫查詢

(2)cache里沒有這個key,說明最近沒有發(fā)生過寫請求,此時就可以去從庫查詢

以此,保證讀到的一定不是不一致的臟數(shù)據(jù)。

總結

數(shù)據(jù)庫主庫和從庫不一致,常見有這么幾種優(yōu)化方案:

(1)業(yè)務可以接受,系統(tǒng)不優(yōu)化

(2)強制讀主,高可用主庫,用緩存提高讀性能

(3)在cache里記錄哪些記錄發(fā)生過寫請求,來路由讀主還是讀從

文字很短,不能解決所有問題,但希望能給大家一些啟示。

分享到:
標簽:數(shù)據(jù)庫
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定