溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

主從復(fù)制、讀寫分離、分庫分表

發(fā)布時間:2020-07-21 16:47:02 來源:網(wǎng)絡(luò) 閱讀:465 作者:愛與夢想 欄目:軟件技術(shù)

一:主從復(fù)制

原理

  • master將改變記錄到二進(jìn)制日志中(Binary log)

  • slave將master的binary log拷貝到它的中繼日志(relay log)

    slave開始一個工作線程---I/O線程。I/O線程在master上打開一個普通的連接,然后開始binlog dump process,從master的二進(jìn)制日志中讀取事件,如果已經(jīng)跟上master,它會睡眠并等待master產(chǎn)生新的事件。I/O線程將這些事件寫入中繼日志。

  • slave重做中繼日志中的事件

    SQL線程從中繼日志讀取事件,并重放其中的事件而更新slave的數(shù)據(jù),使其與master的數(shù)據(jù)一致。只要該線程與I/O線程保持一致,中繼日志通常會位于OS的緩存中,所以中繼日志的開銷很小

主從復(fù)制、讀寫分離、分庫分表


二、讀寫分離

為啥要讀寫分離?

  • 讀的次數(shù),遠(yuǎn)超過寫的次數(shù)。一主多從,主接收寫請求,通過復(fù)制機(jī)制將數(shù)據(jù)同步到從庫,從庫會設(shè)置只讀,防止主從數(shù)據(jù)不一致。

  • 從庫的主要作用是:分擔(dān)主庫的讀壓力,執(zhí)行備份任務(wù),故障切換時,能夠使用的備庫

  • 集中寫,零散讀,將壓力分流。


三、分庫分表

  • Sharding,也就是常說的分庫分表,通過一定的策略把數(shù)據(jù)重新分布,主要解決單實(shí)例寫入壓力或容量過大的問題


四、數(shù)據(jù)預(yù)熱

  • 把熱點(diǎn)數(shù)據(jù)(用戶經(jīng)常訪問的)放到緩存里,減少數(shù)據(jù)庫的壓力,Redis緩存服務(wù)器(集群)

  • 比如,上線的時候會重啟服務(wù),緩存數(shù)據(jù)就沒有了,那么再把數(shù)據(jù)重新load進(jìn)緩存,然后再接受外部訪問


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI