mysql主從復(fù)制延遲問題-創(chuàng)新互聯(lián)

在一般生產(chǎn)環(huán)境,普遍通過MySQL的主從復(fù)制進(jìn)行讀寫分離,從而減輕主服務(wù)器的壓力,提高數(shù)據(jù)的讀寫效率。通常情況下,主從復(fù)制基本上能做實(shí)時(shí)同步。由于服務(wù)器實(shí)際運(yùn)行過程中,客戶端的連接服務(wù)器,讀寫數(shù)據(jù)不可能是均勻,在某個(gè)時(shí)間點(diǎn)出現(xiàn)大量并發(fā)連接,主服務(wù)器不斷的有更新操作不斷的寫入,但是從服務(wù)器當(dāng)某個(gè)語句在從服務(wù)器上執(zhí)行的時(shí)間較長,或者某個(gè)語句要進(jìn)行鎖表,就會(huì)導(dǎo)致主服務(wù)器的SQL語句大量積壓,未被同步到從服務(wù)器,這樣就會(huì)導(dǎo)致在某個(gè)時(shí)刻主從數(shù)據(jù)不一致;還有主從復(fù)制,是通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,網(wǎng)絡(luò)的抖動(dòng)、主從服務(wù)器間的網(wǎng)絡(luò)中斷肯定會(huì)影響數(shù)據(jù)的傳輸,同樣會(huì)造成數(shù)據(jù)的不一致。這就是主從延遲,雖說隨著時(shí)間的推移,或者主服務(wù)器不在大量更新操作,主從服務(wù)器會(huì)逐步一致(網(wǎng)絡(luò)中斷除外),對(duì)于某些企業(yè)寫數(shù)據(jù)時(shí)一般不做同步的查詢,數(shù)據(jù)延遲就不是問題,但是一些交易型的企業(yè)(或者要求數(shù)據(jù)要求實(shí)時(shí)一致),數(shù)據(jù)的延遲是不能被接受的。
解決方案:
1、(網(wǎng)友給的方案)最簡單的減少slave同步延時(shí)的方案就是在架構(gòu)上做優(yōu)化,盡量讓主庫的DDL快速執(zhí)行。還有就是主庫是寫,對(duì)數(shù)據(jù)安全性較高,比如 sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之類的設(shè)置,而slave則不需要這么高的數(shù)據(jù)安全,完全可以講sync_binlog設(shè)置為0或者關(guān)閉binlog,innodb_flushlog也 可以設(shè)置為0來提高sql的執(zhí)行效率。另外就是使用比主庫更好的硬件設(shè)備作為slave。
2、提升主從服務(wù)器硬件性能
3、使用MySQL5.6.3以后的版本,因?yàn)閙ysql-5.6.3已經(jīng)支持了多線程的主從復(fù)制。
雖說這些方案能一定程度上解決數(shù)據(jù)延遲,但是受MySQL主從復(fù)制的原理限制,還是會(huì)存在數(shù)據(jù)延遲的可能性的。我認(rèn)為比較可行的方案還是使用MySQL Galera Cluster集群。
Mysql Galera Cluster是一套基于同步復(fù)制的多主MySQL集群解決方案,使用簡單,沒有單點(diǎn)故障,可用性高,能很好保證業(yè)務(wù)不斷增長時(shí)我們數(shù)據(jù)的安全和隨時(shí)的擴(kuò)展。
優(yōu)點(diǎn):
1、同步復(fù)制,真正行級(jí)別的并發(fā)復(fù)制,各節(jié)點(diǎn)間無延遲且節(jié)點(diǎn)宕機(jī)不會(huì)導(dǎo)致數(shù)據(jù)丟失。
2、多主服務(wù)器的拓?fù)浣Y(jié)構(gòu),可以在任意節(jié)點(diǎn)上進(jìn)行讀寫。
3.自動(dòng)加入新節(jié)點(diǎn)自動(dòng)成員控制,故障節(jié)點(diǎn)自動(dòng)從集群中移除,可提供 99.999% 的可用性。
4、客戶端連接跟操作單臺(tái)MySQL數(shù)據(jù)庫的體驗(yàn)一致。
缺點(diǎn):
1、目前僅支持InnoDB存儲(chǔ)引擎,任何寫入其他引擎的表,包括mysql.*表將不會(huì)復(fù)制,但是DDL語句會(huì)被復(fù)制的,因此創(chuàng)建用戶將會(huì)被復(fù)制,但是insert into mysql.user…將不會(huì)被復(fù)制的.
2、DELETE操作不支持沒有主鍵的表,沒有主鍵的表在不同的節(jié)點(diǎn)順序?qū)⒉煌?如果執(zhí)行SELECT…LIMIT… 將出現(xiàn)不同的結(jié)果集.
3、在多主環(huán)境下LOCK/UNLOCK TABLES不支持,以及鎖函數(shù)GET_LOCK(), RELEASE_LOCK()…
4、查詢?nèi)罩静荒鼙4嬖诒碇?。如果開啟查詢?nèi)罩?,只能保存到文件中?br/>5、允許大的事務(wù)大小由wsrep_max_ws_rows和wsrep_max_ws_size定義。任何大型操作將被拒絕。如大型的LOAD DATA操作。
6、由于集群是樂觀的并發(fā)控制,事務(wù)commit可能在該階段中止。如果有兩個(gè)事務(wù)向在集群中不同的節(jié)點(diǎn)向同一行寫入并提交,失敗的節(jié)點(diǎn)將中止。對(duì) 于集群級(jí)別的中止,集群返回死鎖錯(cuò)誤代碼(Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).
7、XA事務(wù)不支持,由于在提交上可能回滾。
8、整個(gè)集群的寫入吞吐量是由最弱的節(jié)點(diǎn)限制,如果有一個(gè)節(jié)點(diǎn)變得緩慢,那么整個(gè)集群將是緩慢的。為了穩(wěn)定的高性能要求,所有的節(jié)點(diǎn)應(yīng)使用統(tǒng)一的硬件。
9、集群節(jié)點(diǎn)建議最少3個(gè),所有服務(wù)器數(shù)據(jù)完全一致,數(shù)據(jù)同步更新,占用硬件資源,越多數(shù)量的服務(wù)器,犧牲的硬件資源越大。
10、如果DDL語句有問題將破壞集群。

成都創(chuàng)新互聯(lián)專注于中大型企業(yè)的成都做網(wǎng)站、網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶成百上千,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站設(shè)計(jì)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!

另外有需要云服務(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)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:mysql主從復(fù)制延遲問題-創(chuàng)新互聯(lián)
當(dāng)前URL:http://www.muchs.cn/article8/djhjop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)微信公眾號(hào)、App開發(fā)Google、域名注冊、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)