您好,登錄后才能下訂單哦!
一:主從復(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的緩存中,所以中繼日志的開銷很小
二、讀寫分離
為啥要讀寫分離?
讀的次數(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)緩存,然后再接受外部訪問
免責(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)容。