国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MySQL MGR 有哪些優(yōu)點(diǎn)

瀏覽:13日期:2023-10-13 14:44:23

MGR(Mysql Group Replication)是5.7版本新加的特性,是一個(gè)MySQL插件。

MGR 是一個(gè)新的高可用與高擴(kuò)展的方案,集群中的任何節(jié)點(diǎn)數(shù)據(jù)都是一樣的,可以實(shí)現(xiàn)任何節(jié)點(diǎn)都可以寫(xiě)入,實(shí)現(xiàn)了真正意義上的多主。

MySQL MGR 有哪些優(yōu)點(diǎn)

主要包含以下幾部分:

API層:負(fù)責(zé)完成和MySQL Server的交互,得到Server狀態(tài),完成事務(wù)的管理。

組件層:主要包括3個(gè)特定組件,Capture負(fù)責(zé)收集事務(wù)執(zhí)行的相關(guān)信息,Applier負(fù)責(zé)應(yīng)用集群事務(wù)到本地,Recovery負(fù)責(zé)節(jié)點(diǎn)的數(shù)據(jù)恢復(fù)。

復(fù)制層:負(fù)責(zé)沖突驗(yàn)證,接收和應(yīng)用集群事務(wù)。

集群通信層:基于Paxos協(xié)議的集群通信引擎,以及和上層組件的交互接口。

MGR組復(fù)制:

基于傳統(tǒng)異步復(fù)制和半同步復(fù)制的缺陷——數(shù)據(jù)的一致性問(wèn)題無(wú)法保證,MySQL官方在5.7.17版本正式推出組復(fù)制(MySQL Group Replication,簡(jiǎn)稱MGR)。

由若干個(gè)節(jié)點(diǎn)共同組成一個(gè)復(fù)制組,一個(gè)事務(wù)的提交,必須經(jīng)過(guò)組內(nèi)大多數(shù)節(jié)點(diǎn)(N / 2 + 1)決議并通過(guò),才能得以提交。如上圖所示,由3個(gè)節(jié)點(diǎn)組成一個(gè)復(fù)制組,Consensus層為一致性協(xié)議層,在事務(wù)提交過(guò)程中,發(fā)生組間通訊,由2個(gè)節(jié)點(diǎn)決議(certify)通過(guò)這個(gè)事務(wù),事務(wù)才能夠最終得以提交并響應(yīng)。

引入組復(fù)制,主要是為了解決傳統(tǒng)異步復(fù)制和半同步復(fù)制可能產(chǎn)生數(shù)據(jù)不一致的問(wèn)題。組復(fù)制依靠分布式一致性協(xié)議(Paxos協(xié)議的變體),實(shí)現(xiàn)了分布式下數(shù)據(jù)的最終一致性,提供了真正的數(shù)據(jù)高可用方案(是否真正高可用還有待商榷)。其提供的多寫(xiě)方案,給我們實(shí)現(xiàn)多活方案帶來(lái)了希望。

MySQL MGR 有哪些優(yōu)點(diǎn)

MGR是實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)架構(gòu),底層的分布式基礎(chǔ)是Paxos協(xié)議。通過(guò)Paxos來(lái)保證分布式數(shù)據(jù)庫(kù)系統(tǒng)中事務(wù)的提交順序。雖然MGR會(huì)使用Slave的通道,但只是使用這個(gè)通道的執(zhí)行線程(Applier Thread)來(lái)執(zhí)行遠(yuǎn)程發(fā)送過(guò)來(lái)的Binlog Event,并沒(méi)有使用這個(gè)通道來(lái)傳輸Binlog Event。MGR沒(méi)有使用異步復(fù)制的Binlog Event傳輸機(jī)制,也不使用MySQL的服務(wù)端口來(lái)進(jìn)行通信。MGR創(chuàng)建了一個(gè)獨(dú)立的TCP端口來(lái)進(jìn)行通信,各個(gè)MySQL服務(wù)器上的Group Replication插件通過(guò)這個(gè)端口連接在一起,兩兩之間可以直接通信。

Binlog Event的傳輸并不像異步復(fù)制那樣是簡(jiǎn)單的點(diǎn)到點(diǎn)之間的傳輸。MGR在傳輸數(shù)據(jù)時(shí),使用了Paxos協(xié)議。Paxos協(xié)議保證了數(shù)據(jù)傳輸?shù)囊恢滦院驮有浴GR基于Paxos協(xié)議構(gòu)建了一個(gè)分布式的狀態(tài)機(jī)復(fù)制機(jī)制,這是實(shí)現(xiàn)多主復(fù)制的核心技術(shù)。

三個(gè)主要優(yōu)點(diǎn):

1. 避免腦裂:MGR中不會(huì)出現(xiàn)腦裂的現(xiàn)象(但要注意可能出現(xiàn)網(wǎng)絡(luò)分區(qū)的情況,MGR根據(jù)參數(shù)group_replication_unreachable_majority_timeout=0/N設(shè)置的不同,行為稍有不同)。

2. 數(shù)據(jù)一致性保障:MGR的冗余能力很好,能夠保證Binlog Event至少被復(fù)制到超過(guò)一半的成員上,只要同時(shí)宕機(jī)的成員不超過(guò)半數(shù)便不會(huì)導(dǎo)致數(shù)據(jù)丟失。MGR還保證只要Binlog Event沒(méi)有被傳輸?shù)桨霐?shù)以上的成員,本地成員不會(huì)將事務(wù)的Binlog Event寫(xiě)入Binlog文件和提交事務(wù),從而保證宕機(jī)的服務(wù)器上不會(huì)有組內(nèi)在線成員上不存在的數(shù)據(jù)。因此,宕機(jī)的服務(wù)器重啟后,不再需要特殊的處理就可以加入組。

3. 多節(jié)點(diǎn)寫(xiě)入支持:多寫(xiě)模式下支持集群中的所有節(jié)點(diǎn)都可以寫(xiě)入。

以上就是MySQL MGR 有哪些優(yōu)點(diǎn)的詳細(xì)內(nèi)容,更多關(guān)于MySQL MGR 的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 手机| 科技| 景德镇市| 盐山县| 漠河县| 瑞昌市| 遂溪县| 高州市| 于都县| 佛坪县| 康马县| 大竹县| 虎林市| 祁东县| 台东市| 十堰市| 遂宁市| 五常市| 太湖县| 正安县| 弥勒县| 全南县| 灌南县| 七台河市| 海伦市| 盘锦市| 沿河| 鄂伦春自治旗| 灵川县| 项城市| 乡宁县| 马关县| 凤山市| 靖宇县| 大姚县| 漾濞| 古交市| 新乐市| 和林格尔县| 隆昌县| 永寿县|