如何分析MySQL Group Replication,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、陽(yáng)江網(wǎng)站維護(hù)、網(wǎng)站推廣。
最近看了下MySQL Group Replication的內(nèi)容,因?yàn)榘l(fā)布的時(shí)間不是很長(zhǎng),可以算是一個(gè)新鮮玩意,而且因?yàn)樗赜械囊饬x,這個(gè)特性顯得更加意味深長(zhǎng)。
我接觸Oracle的時(shí)間要長(zhǎng)一些,所以很多時(shí)候都喜歡帶著對(duì)比的眼光來(lái)看,單著自己嘗試著用了下這個(gè)特性,感覺(jué)一下子讓我找到了當(dāng)年學(xué)習(xí)Oracle 10g RAC時(shí)的感覺(jué),里面還是有一些小問(wèn)題,而且還不少,眼巴巴的看著報(bào)錯(cuò),但是日志又很有限,查閱資料,竟然不是bug就是找不到一些相關(guān)的信息,所以有時(shí)候有種信息孤島的感覺(jué)。
官網(wǎng)的資料自己也看了好幾遍,在自己在電腦環(huán)境中也模擬了不下十次,每次感覺(jué)都是差一點(diǎn),有一些讓人感覺(jué)不大滿意的地方,我覺(jué)得在這方面的付出可真不比Oracle少,而且我也知道這個(gè)新特性要達(dá)到成熟到普及,還需要時(shí)日。這個(gè)過(guò)程總是讓人難忘而且艱辛。
首先這個(gè)特性,使得MySQL和Oracle體量更加接近,看看下載的二進(jìn)制包就讓人手里一抖,壓塑包600多M,但是解壓后竟然有差不多2.6G.
# du -sh ./*
2.6G ./mysql-5.7.17-linux-glibc2.5-x86_64
625M ./mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
如果仔細(xì)往下看,就會(huì)發(fā)現(xiàn)里面group replication的部分占用的空間確實(shí)不少。
我想下面的這個(gè)圖,如果要看group replication都要說(shuō)上一段,各類博客中都有自然引用到,原來(lái)來(lái)自于官網(wǎng)的解讀。
從原生的Replication過(guò)渡到插件式的半同步,再到Group Replication,真是一個(gè)很大的進(jìn)步,高可用方案隨著這個(gè)技術(shù)的成熟相比也會(huì)逐漸成為一種趨勢(shì),從Galera到后面Percona包裝的PXC,從Group replication的角度再回頭來(lái)看,竟然發(fā)現(xiàn)是如此相似。Galera的作者都是一批20多年實(shí)戰(zhàn)經(jīng)驗(yàn)的老鳥(niǎo),在技術(shù)成熟度方面肯定完全不遜于官方。所以選擇哪一個(gè)或者哪一個(gè)更成熟,到時(shí)候會(huì)是擺在MySQL DBA面前的一個(gè)艱難的選擇。
然后再來(lái)一張圖。MySQL 插件的結(jié)構(gòu)圖。
MySQL的這個(gè)高可用方案是一個(gè)share nothing的架構(gòu),這樣也就使得整個(gè)架構(gòu)是一個(gè)強(qiáng)一致性的設(shè)計(jì)方式,自然會(huì)用到組播的方式。
Oracle中搭建RAC需要一個(gè)集群軟件,早期是可選第三方,后來(lái)統(tǒng)一為Oracle專供,也就是后來(lái)所說(shuō)的Grid Infrastrue,不光整合力集群軟件,ASM的部分也整合進(jìn)去了,有點(diǎn)強(qiáng)拆的感覺(jué)。MGR的模式目前是推薦單主的形式,即讀寫(xiě)分離的方式,也可以做到多主。
MySQL Group Replication中的這個(gè)部分是由Corosync來(lái)實(shí)現(xiàn)的,corosync的由來(lái)是源于一個(gè)Openais的項(xiàng)目,可以實(shí)現(xiàn)HA心跳信息傳輸?shù)墓δ?,是眾多?shí)現(xiàn)HA集群軟件中之一,在MGR早起的實(shí)驗(yàn)室版本還需要特意關(guān)注這部分的信息,特意的設(shè)定和配置使得集群環(huán)境能夠穩(wěn)步運(yùn)行,MGR也是包含了綁定corosync的接口,這個(gè)接口實(shí)際上是corosync到client API的一個(gè)隱式映射。
由此我也看到了幾個(gè)不錯(cuò)的解決方案,
corosync+pacemaker+mysql+drbd 實(shí)現(xiàn)mysql的高可用,還有搭建Group Replication很有想法的一個(gè)實(shí)踐,就是先配置gtid,然后切換到group replication,使得這個(gè)過(guò)程更加平滑。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。