日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha

發(fā)布時間:2023/12/31 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、MMM結(jié)構(gòu)(雙主復制的結(jié)構(gòu))

Master-Master Replication Manager for MySQL 是一套腳本集合,用以監(jiān)控、管理雙主復制架構(gòu),通過設置一個可寫的VIP和多個只讀的VIP,完成故障自動轉(zhuǎn)移、讀負載分攤等功能;雙主互為主從

MMM

存在問題:

通過vip實現(xiàn)漂移,不能跨網(wǎng)段,更不能跨機房

網(wǎng)絡分區(qū),導致數(shù)據(jù)庫雙寫,數(shù)據(jù)沖突,需要業(yè)務修改數(shù)據(jù)或者重做

DBA部署和運維不方便,容易出問題(綁定vip,配置文件等)

使用binlog進行同步會有延時,如果寫節(jié)點寫操作過程中掛了,集群中其他節(jié)點無法訪問掛掉的 寫節(jié)點的binlog,就 無法同步這部分數(shù)據(jù),導致數(shù)據(jù)丟失。

MMM的版本已不更新,談不上對mysql新特性的支持

不適合于對數(shù)據(jù)一致性要求很高的場景。(異步復制,數(shù)據(jù)雙寫沖突)

VIP地址漂移原理?

1、MMM本身的monitor和agent提供了動態(tài)變更網(wǎng)卡IP綁定的功能(網(wǎng)卡可以綁定多個IP的呢)

2、借用keepalived的虛擬路由冗余協(xié)議,實現(xiàn)這種高可用的VIP機制(ARP表原理), 所以又有MM+Keepalived組合

明白了VIP地址漂移的道理,那么不能跨網(wǎng)段就顯而易見了(多網(wǎng)段VIP沒辦法路由呢)。

2、PXC結(jié)構(gòu)

Percona XtraDB Cluster是一個為MySQL用戶提供高可用性和伸縮性的解決方案,采用ZK作為中央控制模塊。

GTID:Global Transaction ID? ??全局事務唯一id

PXC

1、同步復制,事務要么在所有節(jié)點提交或不提交,一致性高。(一半以上結(jié)點OK則事務成功,高可用)

2、多主復制,可以在任意節(jié)點進行寫操作,當然也可以讀。

一致性最高,但是QPS相對受限。

2、mha結(jié)構(gòu)

MHA(Master High Availability)是一套優(yōu)秀的作為MySQL高可用性環(huán)境下故障切換和主從提升的高可用軟件。在MySQL故障切換過程中,MHA能做到在0~30秒之內(nèi)自動完成數(shù)據(jù)庫的故障切換操作,并且在進行故障切換的過程中,MHA能在最大程度上保證數(shù)據(jù)的一致性,以達到真正意義上的高可用。

組成部分:

1.MHA manager,管理節(jié)點

2.MHA node,數(shù)據(jù)節(jié)點

部署架構(gòu):

MHA manager可以單獨部署在一臺機器上,管理多個master-slave集群,也可以單獨部署在一個slave節(jié)點上。MHA manager探測集群的node節(jié)點,當發(fā)現(xiàn)master故障時,會選取擁有最新數(shù)據(jù)的slave提升為新的master,然后將其他的slave導向新的master節(jié)點,并完成數(shù)據(jù)的同步,整個故障轉(zhuǎn)移過程對于客戶端應用程序來說是完全透明的。

MHA

原理介紹:

MHA的目的在于維持MySQL Replication中Master庫的高可用性,其最大特點是可以修復多個Slave之間的差異日志,最終使所有Slave保持數(shù)據(jù)一致,然后從中選擇一個充當新的Master,并將其它Slave指向它。

當master出現(xiàn)故障時,可以通過對比slave之間I/O thread 讀取主庫binlog的position號,選取最接近的slave做為備選主庫(備胎)。其它的從庫可以通過與備選主庫對比生成差異的中繼日志。在備選主庫上應用從原來master保存的binlog,同時將備選主庫提升為master。最后在其它slave上應用相應的差異中繼日志并開始從新的master開始復制。

過程:

(1)從宕機崩潰的master保存二進制日志事件(binlog events);

(2)識別含有最新更新的slave,作為備選主庫;

(3)對比備選主庫和其他slave,生成差異的中繼日志(relay log);

(4)應用從master保存的二進制日志事件(binlog events)到備選主庫;

(5)提升提升備選主庫為新的master主庫;

(6)在其他slave上應用差異中繼日志(relay log);

(6)使其他的slave連接新的master進行復制;

優(yōu)點:

1. 故障切換時,可以自行判斷哪個從庫與主庫的數(shù)據(jù)最接近,就切換到上面,可以減少數(shù)據(jù)的丟失,保證數(shù)據(jù)的一致性

2. 支持 binlog server,可提高 binlog 傳送效率,進一步減少數(shù)據(jù)丟失風險。

3. 可以配置 mysql 5.7 的增強半同步,來保證數(shù)據(jù)的時時同步

在MHA自動故障切換過程中,MHA試圖從宕機的主服務器上保存二進制日志,最大程度的保證數(shù)據(jù)的不丟失,但這并不總是可行的。例如,如果主服務器硬件故障或無法通過ssh訪問,MHA沒法保存二進制日志,只進行故障轉(zhuǎn)移而丟失了最新的數(shù)據(jù)。使用MySQL 5.5的半同步復制,可以大大降低數(shù)據(jù)丟失的風險。MHA可以與半同步復制結(jié)合起來。如果只有一個slave已經(jīng)收到了最新的二進制日志,MHA可以將最新的二進制日志應用于其他所有的slave服務器上,因此可以保證所有節(jié)點的數(shù)據(jù)一致性。

Manager若自身需要是高可用的,且保證對各個機房的可達性。

另外,可自定義開發(fā)哨兵Sentinel集群替代Manager。

總結(jié)

以上是生活随笔為你收集整理的mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。