mysql/slave
創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元樊城做網(wǎng)站,已為上家服務(wù),為樊城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220master/slave較為簡單,master負(fù)責(zé)響應(yīng)客戶端的寫請(qǐng)求,slave負(fù)責(zé)響應(yīng)客戶端的讀請(qǐng)求
實(shí)現(xiàn)原理:
slave在啟動(dòng)兩個(gè)線程,i/o線程和sql線程,master啟動(dòng)dump線程,每當(dāng)master的數(shù)據(jù)發(fā)生改變時(shí),master就會(huì)將對(duì)應(yīng)的SQL語句存儲(chǔ)在二進(jìn)制日志文件中,slave的通過i/o線程連接master的dump線程并每個(gè)一段時(shí)間就會(huì)向master詢問二進(jìn)制文件是否發(fā)生改變,如果二進(jìn)制文件發(fā)生改變slave的i/o線程就會(huì)去讀取二進(jìn)制文件中發(fā)生改變的內(nèi)容存儲(chǔ)在本地的中繼日志中并通過sql線程對(duì)中繼日志的內(nèi)容進(jìn)行回放,并記錄本次讀取到的二進(jìn)制文件位置,完成復(fù)制。
存在問題:
1、master壓力過大
2、master宕機(jī)之后將無法完成用戶寫請(qǐng)求
3、節(jié)點(diǎn)數(shù)據(jù)可能不一致
4、默認(rèn)使用異步復(fù)制方式
5、延遲
延遲的原因:
1、 slave節(jié)點(diǎn)過多,master會(huì)為每個(gè)slave打開一個(gè)dump線程
2、 并發(fā)寫請(qǐng)求操作,由于mysql支持并發(fā)請(qǐng)求,如果多個(gè)寫請(qǐng)求同時(shí)到達(dá),將會(huì)將這些寫操作都記錄在二進(jìn)制日志中,但在寫入二進(jìn)制文件時(shí)只能通過串行寫入
3、 slave通過i/o線程讀取二進(jìn)制文件并寫入中繼日志是也只能通過串行寫入
master/master
master/master的出現(xiàn)正好解決了master/slave中如果master宕機(jī)之后用戶的寫請(qǐng)求無法完成的問題,但同時(shí)引入了比master/slave更多的問題,實(shí)現(xiàn)原理基本和master/slave相同,只需要在兩臺(tái)master中分別啟動(dòng)二進(jìn)制日志和中繼日志即可
注意問題:
1、 避免主鍵重復(fù)
2、 server-id全局唯一
存在問題:
1、 經(jīng)常出現(xiàn)兩臺(tái)master數(shù)據(jù)不一致(存在巨大風(fēng)險(xiǎn))
2、 主鍵沖突
3、 延遲
級(jí)聯(lián)復(fù)制
在有些應(yīng)用場(chǎng)景中,可能讀寫壓力差別比較大,讀壓力特別的大,一個(gè)Master可能需要上10臺(tái)甚至更多的Slave才能夠支撐注讀的壓力。這時(shí)候,Master就會(huì)比較吃力了,因?yàn)閮H僅連上來的SlaveIO線程就比較多了,這樣寫的壓力稍微大一點(diǎn)的時(shí)候,Master端因?yàn)閺?fù)制就會(huì)消耗較多的資源,很容易造成復(fù)制的延時(shí)。這時(shí)候我們就可以利用MySQL可以在Slave端記錄復(fù)制所產(chǎn)生變更的BinaryLog信息的功能,也就是打開log_slave_update選項(xiàng)。然后,通過二級(jí)(或者是更多級(jí)別)復(fù)制來減少M(fèi)aster端因?yàn)閺?fù)制所帶來的壓力。
這種多層級(jí)聯(lián)復(fù)制的架構(gòu),很容易就解決了Master端因?yàn)楦綄賁lave太多而成為瓶頸的風(fēng)險(xiǎn)。
但下面階級(jí)過多同一個(gè)變更傳到最底層的Slave所需要經(jīng)過的MySQL也會(huì)更多,同樣可能造成延時(shí)較長的風(fēng)險(xiǎn)
存在問題:
1、可能導(dǎo)致延遲更為嚴(yán)重
2、借助于BlackHole存儲(chǔ)引擎(黑洞引擎)
半同步復(fù)制
mysql復(fù)制方式:
異步:將二進(jìn)制日志發(fā)送給slave不等待slave回應(yīng)直接返回給客戶端,數(shù)據(jù)儲(chǔ)存成功
同步:將二進(jìn)制日志發(fā)送給slave等待所有slave回應(yīng)執(zhí)行成功后返回給客戶端,數(shù)據(jù)儲(chǔ)存成功
半同步:將二進(jìn)制日志發(fā)送給slave等待一個(gè)slave回應(yīng)執(zhí)行成功后返回給客戶端,數(shù)據(jù)儲(chǔ)存成功
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文名稱:mysql進(jìn)階(二)mysql復(fù)制架構(gòu)-創(chuàng)新互聯(lián)
分享鏈接:http://m.kartarina.com/article46/cdcpeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、軟件開發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)