国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL 4種常用的主從復制架構

瀏覽:48日期:2023-10-12 17:03:14
一主多從復制架構

在主庫讀取請求壓力非常大的場景下,可以通過配置一主多從復制架構實現讀寫分離,把大量的對實時性要求不是特別高的讀請求通過負載均衡分部到多個從庫上(對于實時性要求很高的讀請求可以讓從主庫去讀),降低主庫的讀取壓力,如下圖所示。

在主庫出現異常宕機的情況下,可以把一個從庫切換為主庫繼續提供服務。

在主從復制場景下會出現主從延遲,想想該怎么解決?

MySQL 4種常用的主從復制架構

多級復制架構

一主多從的架構能夠解決大部分讀請求壓力特別大的的場景的需求,考慮到MySQL的復制需要主庫發送BINLOG日志到從庫的I/O線程,主庫的I/O壓力和網絡壓力會隨著從庫的增加而增長(每個從庫都會在主庫上有一個獨立的BINLOG Dump線程來發送事件),而多級復制架構解決了一主多從場景下的,主庫額外的I/O和網絡壓力。MySQL的多級復制架構如下圖所示。

MySQL 4種常用的主從復制架構

對比一主多從的架構,多級復制僅僅是在主庫Master1復制到從庫Slave1、Slave2、Slave3的中間增加了一個二級主庫Master2,這樣,主庫Master1只需要給一個從庫Master2發送BINLOG日志即可,減輕了主庫Master1的壓力。二級主庫Master2再發送BINLOG日志給所有的從庫Slave1、Slave2和Slave3的I/O線程。

多級復制解決了一主多從場景下,主庫的I/O負載和網絡壓力,當然也有缺點:MySQL的傳統復制是異步的,多級復制場景下主庫的數據是經歷兩次復制才到達從庫Slave1、Slave2、Slave3的,期間的延遲要比一主多從復制場景下只經歷一次復制的還大。

可以通過在二級主庫Master2上選擇表引擎為BLACKHOLE來降低多級復制的延遲。顧名思義,BLACKHOLE引擎是一個“黑洞”引擎,寫入BLACKHOLE表的數據并不會寫會到磁盤上,BLACKHOLE表永遠都是空表,INSERT、UPDATE、DELETE操作僅僅在BINLOG中記錄事件。

CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,`name` varchar(255) NOT NULL DEFAULT ’’,`age` tinyint unsigned NOT NULL DEFAULT 0)ENGINE=BLACKHOLE charset=utf8mb4;INSERT INTO `user` (`name`,`age`) values('itbsl', '26');SELECT * FROM `user`;

MySQL 4種常用的主從復制架構

可以看到,存儲引擎為BLACKHOLE的user表里沒有數據。

BLACKHOLE引擎非常適合二級主庫Masger2的場景:Master2并不承擔讀寫請求,僅僅負責將BINLOG日志盡快傳送給從庫。

雙主(Dual Master)復制架構

雙主(Dual Master)復制架構適用于DBA做維護時需要主從切換的場景,通過雙主復制架構避免了重復搭建從庫的麻煩,雙主復制架構如下圖所示。

MySQL 4種常用的主從復制架構

主庫Master1和Master互為主從,所有Web Client的寫請求都訪問主庫Master1或Master2。加入,DBA需要做日常維護操作,為了避免影響服務,需進行一下操作。

首先,在Master1庫上停止Slave線程(STOP SLAVE),避免后續對Master2庫的維護操作操作被實時復制到Master1庫上對服務造成影響。 其次,在Master2庫上停止Slave線程(STOP SLAVE),開始日常維護操作,例如修改varchar字段從長度10增加到200。 然后,在Master2庫上完成維護操作之后,打開Master2庫上的Slave線程(STRART SLAVE),讓Master2的數據和Master1庫同步,同步完成后,把應用的寫操作切換到Master2庫上。 最后,確認Master1庫上沒有應用訪問后,打開Master1的Slave線程(START SLAVE)即可。

通過雙主復制架構能夠大大減輕一主多從架構下對主庫進行維護帶來的額外搭建從庫的工作。

當然雙主架構還能和主從復制聯合起來使用:在Master2庫下配置從庫Slave1、Slave2等,這樣既可通過從庫Slave1等來分擔讀取壓力,同時在DBA做維護的同時,避免了重建從庫的額外工作,但需要注意從庫的復制延遲。MySQL雙主多級復制架構如下所示。

MySQL 4種常用的主從復制架構

多源(Multi-Source)復制架構

多源(Multi-Source)復制架構適用于復雜的業務需求,既可以支撐OLTP(聯機事務處理),也可以滿足OLAP(聯機分析處理)。MySQL的多源復制架構我就暫時不畫啦,等有空再畫好補充上(畫圖也是個體力活呀)。有興趣的可以看《深入淺出MySQL數據庫開發、優化與管理維護》這本書。

如何優化主從延遲問題? 優化網絡環境 在MySQL5.5~MySQL5.6中,使用半同步復制 在MySQL5.7中,可以使用增強半同步復制(也稱為無損復制)

關于MySQL主從延遲的具體信息,可以看我的另一篇文章聊聊MySQL主從復制的幾種復制方式。

整理自:

《深入淺出MySQL數據庫開發、優化與管理維護》這本書。

以上就是MySQL 4種常用的主從復制架構的詳細內容,更多關于MySQL 主從復制架構的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 国产精自产拍久久久久久蜜 | 国产精品久久久免费视频 | 中文在线三级中文字幕 | 国产91精品久久久久久久 | 中美日韩在线网免费毛片视频 | 久久精品成人 | 中文字幕亚洲精品 | 日本一级视频 | 成人高清视频在线观看 | 亚洲天堂成人 | 69视频成人 | 男人使劲躁女人视频小v | 亚洲国产日韩成人综合天堂 | 国产精品拍拍拍福利在线观看 | 久久久久久久99久久久毒国产 | 欧美牲| 国产日韩在线观看视频 | 全部精品孕妇色视频在线 | 最新步兵社区在线观看 | 国内成人精品亚洲日本语音 | 国产亚洲精品一区999 | 91精品国产综合久久久久 | 性做久久久久免费观看 | 99久久精品视香蕉蕉er热资源 | 玖玖在线国产精品 | 欧美日韩亚洲高清不卡一区二区三区 | 久青草免费在线视频 | 免费观看日本高清a毛片 | 久久久久一 | 国产99在线播放 | 国产精品一级 | 亚洲一区二区三区免费观看 | gogo999亚洲肉体艺术大胆 | 97久久精品一区二区三区 | 97影院在线午夜 | 亚洲刺激视频 | 91网站在线免费观看 | 国产在线一区二区三区欧美 | 亚洲精品视频免费在线观看 | 日韩在线视频观看 | 毛片在线看网站 |