您好,登錄后才能下訂單哦!
MySQL主從同步的簡單理解
許多大型網(wǎng)站為了減輕海量用戶對于服務(wù)器并發(fā)訪問量的性能問題,會使用很多解決的方案,
數(shù)據(jù)庫主從分離,就是目前主流的一種解決手段。
想一下每個用戶都通過控制層業(yè)務(wù)層調(diào)用服務(wù)器數(shù)據(jù),用戶量小還好說,
用戶量大的話輕則用戶體驗(yàn)極差,重則數(shù)據(jù)庫崩潰甚至數(shù)據(jù)丟失,那真的就是很嚴(yán)重的事情了。
如何解決,解決方案之一就是主從分離。
主從那長話短說就是,一臺服務(wù)器我處理不了就用幾臺服務(wù)器咯,
但是這些服務(wù)器是有主次之分以及職責(zé)劃分的。
* 將我們對數(shù)據(jù)庫的讀寫操作分別放到不同的服務(wù)器集群中運(yùn)行。
* 一般主服務(wù)器負(fù)責(zé)寫入,從服務(wù)器負(fù)責(zé)讀取。
* 主服務(wù)器做的操作同步到從服務(wù)器中。
* 主從配置只需要配置數(shù)據(jù)庫,無需修改業(yè)務(wù)代碼。
那么來講一下具體的工作原理,如圖:
1. 主服務(wù)器(Master)將數(shù)據(jù)信息(Data changes)存儲到二進(jìn)制日志中(Binary log)
2. 從服務(wù)器開啟一個I/O線程(I/O thread),用于連接主從服務(wù)器,并拷貝/同步主服務(wù)器的操作。
3. 將這些操作同步到中介日志中(Relay log)
4. 從服務(wù)器重復(fù)主服務(wù)器的操作(Replay / Read)
從服務(wù)器執(zhí)行主服務(wù)器的同步操作也要一步一步的來,可以類比生產(chǎn)者消費(fèi)者案例,
所以需要同步到從服務(wù)器日志中一步一步的同步執(zhí)行。
以上就是我個人初學(xué)的一個理解吧,如有不對請一定要指出。
圖片來源于慕k網(wǎng)的一些資料
免責(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)容。