如果Master收到所有 Slave的OK消息,它就會向所有Slave發(fā)送提交消息,告訴Slave提交該事務(wù);
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、峰峰礦網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為峰峰礦等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
如果Slave收到提交請求,它們就會提交事務(wù),并向Master發(fā)送事務(wù)已提交 的確認(rèn);
如果Slave收到取消請求,它們就會撤銷所有改變并釋放所占有的資源,從而中止事務(wù),然后向Masterv送事務(wù)已中止的確認(rèn)。
隨著計算機(jī)和信息技術(shù)的迅猛發(fā)展和普及,行業(yè)應(yīng)用系統(tǒng)的規(guī)模迅速擴(kuò)大,行業(yè)應(yīng)用所產(chǎn)生的數(shù)據(jù)量量呈爆炸式增長,類似于MySQL集群這樣的技術(shù)得到了廣泛的運(yùn)用,MySQL集群原理的運(yùn)用就顯得尤其重要。
動力節(jié)點(diǎn)的MySQL集群教程 ,對于MySQL集群技術(shù)的應(yīng)用場景有著詳細(xì)的介紹,能夠有效幫助我們學(xué)以致用, 教程主要從MySQL集群架構(gòu)解析到架構(gòu)部署再到集群架構(gòu)測試,一步步帶你部署企業(yè)級的MySQL數(shù)據(jù)庫集群項(xiàng)目,熟悉各個環(huán)節(jié)技術(shù)點(diǎn),提升數(shù)據(jù)庫架構(gòu)設(shè)計能力。
?001.MySQL集群視頻教程:主從復(fù)制介紹
?002.MySQL集群視頻教程:主從復(fù)制結(jié)構(gòu)
?003.MySQL集群視頻教程:主從復(fù)制流程原理
?004.MySQL集群視頻教程:多實(shí)例安裝
?005.MySQL集群視頻教程:多實(shí)例鏈接
?006.MySQL集群視頻教程:一主多從-配置
?007.MySQL集群視頻教程:-一主多從測試
?008.MySQL集群視頻教程:雙主雙從配置
?009.MySQL集群視頻教程:雙主雙從測試
?010.MySQL集群視頻教程:多數(shù)據(jù)源-環(huán)境搭建
?011.MySQL集群視頻教程:多算數(shù)據(jù)源實(shí)現(xiàn)
?012.MySQL集群視頻教程:修復(fù)MySLQ主從復(fù)制
?013.MySQL集群視頻教程:多數(shù)據(jù)源的問題
?014.MySQL集群視頻教程:動態(tài)數(shù)據(jù)源
?015.MySQL集群視頻教程:動態(tài)數(shù)據(jù)源執(zhí)行流程
?016.MySQL集群視頻教程:SpringBoot集成多數(shù)據(jù)源
?017.MySQL集群視頻教程:SpringBoot集成多數(shù)據(jù)源問題
?018.MySQL集群視頻教程:SpringBoot集成動態(tài)數(shù)據(jù)源
它們是按SMP、NUMA、MPP、集群、分布處理從最緊密到最松散的排列。
SMP(多處理系統(tǒng)):這種系統(tǒng)是在一臺計算機(jī)里有多個CPU,CPU之間的地位是平等的,它們共享內(nèi)存空間和I/O設(shè)備。其工作方法是由操作系統(tǒng)負(fù)責(zé)將任務(wù)分解成多個并發(fā)進(jìn)程,然后讓其在不同的CPU上運(yùn)行。
NUMA(非統(tǒng)一內(nèi)存存取):這種系統(tǒng)可以讓多處理計算機(jī)的CPU比SMP更高效地共享本地內(nèi)存,CPU可以更快速地存取單一的內(nèi)存區(qū)域,不過如需要也可以用間接方式存取其他區(qū)域的內(nèi)存,這種方法是讓某些CPU在給定范圍的物理內(nèi)存中有更大的優(yōu)先使用權(quán)。
MPP(巨型并行處理):這種系統(tǒng)的節(jié)點(diǎn)都有自己的CPU,并有自己的專有資源。此種結(jié)構(gòu)相對獨(dú)立,但各個節(jié)點(diǎn)一般沒有完全存取I/O的能力。
集群:集群系統(tǒng)是由獨(dú)立的計算機(jī)組成,但有控制管理工具統(tǒng)一管理。
分布處理:它是比我們要構(gòu)筑的集群系統(tǒng)更松散的連接,一般是任務(wù)在不同的地方完成,沒有可以作為整體管理的單一實(shí)體。
以上的聚合方式有緊有疏,它們都有自己的適用范圍,這里就不多說了,有興趣可自己找些資料看,這里只是想讓大家了解它所處的位置。
實(shí)現(xiàn)負(fù)載均衡的方法
集群的目的是共享和高效地利用資源,提供大型運(yùn)算,提供負(fù)載均衡分配請求壓力以及出現(xiàn)故障時能夠進(jìn)行切換實(shí)現(xiàn)高可用性。
限于篇幅,本文只對負(fù)載均衡的實(shí)現(xiàn)做些介紹(針對TurboLinux Cluster Server)。通過對相關(guān)軟件的分析,實(shí)現(xiàn)集群負(fù)載的功能是通過流量管理實(shí)現(xiàn)的,具體有這樣幾種實(shí)現(xiàn)方法:直接路由(Direct forwarding)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、隧道技術(shù)(Tunneling)。
直接路由(Direct forwarding)
當(dāng)參與集群的計算機(jī)和作為控制管理的計算機(jī)在同一個網(wǎng)段時可以用此法,控制管理的計算機(jī)接收到請求包時直接送到參與集群的節(jié)點(diǎn)。優(yōu)點(diǎn)是返回給客戶的流量不經(jīng)過控制主機(jī),速度快開銷少。
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
這種方法可能大家較熟悉,地址轉(zhuǎn)換器有能被外界訪問到的合法IP地址,它修改來自專有網(wǎng)絡(luò)的流出包的地址,外界看起來包是來自地址轉(zhuǎn)換器本身,當(dāng)外界包送到轉(zhuǎn)換器時,它能判斷出應(yīng)該將包送到內(nèi)部網(wǎng)的哪個節(jié)點(diǎn)。優(yōu)點(diǎn)是節(jié)省IP地址,能對內(nèi)部進(jìn)行偽裝;缺點(diǎn)是效率低,因?yàn)榉祷亟o請求方的流量經(jīng)過轉(zhuǎn)換器。
隧道技術(shù)(Tunneling)
這種方式是在集群的節(jié)點(diǎn)不在同一個網(wǎng)段時可用的轉(zhuǎn)發(fā)機(jī)制,是將IP包封裝在其他網(wǎng)絡(luò)流量中的方法,為了安全的考慮,應(yīng)該使用隧道技術(shù)中的VPN,也可使用租用專線。
集群所能提供的服務(wù)是基于TCP/IP的Web服務(wù)、Mail服務(wù)、News服務(wù)、DNS服務(wù)、Proxy服務(wù)器等等,下面我們將就具體的產(chǎn)品TurboLinux Cluster Server 來實(shí)現(xiàn)一個進(jìn)行負(fù)載均衡集群系統(tǒng),用于提供Web和FTP的服務(wù)。四臺服務(wù)器的負(fù)載均衡實(shí)例
所提供的服務(wù):Web、FTP。
系統(tǒng)的實(shí)現(xiàn)目的:做一個較完善負(fù)載均衡的系統(tǒng),以便能用到其中的較多的功能。
采用設(shè)備狀況:使用四臺服務(wù)器,其中3臺裝TurboLinux Cluster Server,1臺安裝Windows 2000 Sever。系統(tǒng)安裝1.在兩臺服務(wù)器上安裝TurboLinux, apache和wu-ftpd也要安裝,因?yàn)榧阂峁┻@種服務(wù),安裝完后重啟,掛接光驅(qū)在目錄/mnt/cdrom下,執(zhí) 行./TLCS-install,然后按提示完全安裝。
2020-08-14
集群有三個成員memberA、B、C成,其中memberB意外故障停掉了,然后memberA 執(zhí)行stop group_replication退去集群.此時整個集群不可用了(不能更新數(shù)據(jù))。
集群中唯一剩余的成員memberC上看到的成員狀態(tài)為:
但是memberA看到的狀態(tài)為:
查看最后的存活的memberC的錯誤日志發(fā)現(xiàn):
"Plugin group_replication reported: 'This server is not able to reach a majority of members in the group. This server will now block all updates. The server will remain blocked until contact with the majority is restored. It is possible to use group_replication_force_members to force a new group membership.' "
大概意思是當(dāng)前的服務(wù)沒法獲取到成員的投票數(shù),當(dāng)前服務(wù)將會阻塞所有的更新,直到能夠獲取到投票數(shù)??梢允褂胓roup_replication_force_members 來強(qiáng)制組成一個新的組。
開始認(rèn)為這是MGR功能的一個bug,不過后來想想這樣的設(shè)定也是合理的,因?yàn)槿绻钱?dāng)前的服務(wù)成員自身網(wǎng)絡(luò)或其他問題導(dǎo)致的無法與其他成員的通信成功,那么這樣的情況下這種設(shè)定也是合理的,因?yàn)椴荒茏屗詣又匦陆M成一個組,否則就會可能出現(xiàn)多個重復(fù)的組。對于為什么組成員A執(zhí)行stop group_replication后,剩余的memberC的視圖中memberA還是online狀態(tài),可能是因?yàn)閙emberB已經(jīng)unreachable,所以memberC去請求是否同意memberA退去時沒有得到結(jié)果,一直阻塞等待造成的。此時,memberA的退出結(jié)果應(yīng)該是無法多數(shù)投票通過的,因此memberA的退出結(jié)果應(yīng)該是失敗的。查看memberA的error日志,結(jié)果確實(shí)如此:
解決的方法是memberC也執(zhí)行stop group_replication停掉這個組,再重新組成一個新的組。
此時memberA再重新加入就成功了:
結(jié)果:
以此類推,當(dāng)有多個server組成的group而有多數(shù)成員已經(jīng)意外故障時,導(dǎo)致整個組的停止更新,目前想到的解決的方法就是停掉現(xiàn)在的組,重新組成新的組。
ps:
增加Group Replication System Variables中g(shù)roup_replication_member_expel_timeout的大小,可以避免網(wǎng)絡(luò)問題或執(zhí)行事務(wù)慢造成的錯誤驅(qū)逐。
網(wǎng)頁題目:mysql怎么解決集群 mysql集群主要面臨的問題
標(biāo)題鏈接:http://jinyejixie.com/article18/ddogjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站制作、網(wǎng)站營銷、微信公眾號、企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)