欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQL高可用——PXC簡(jiǎn)介-創(chuàng)新互聯(lián)

PXC簡(jiǎn)介:

網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

  galera產(chǎn)品是以galera cluster方式為mysql提高高可用集群解決方案的。galera cluster就是集成了galera插件的mysql集群。galera replication是codership提供的mysql數(shù)據(jù)同步方案,具有高可用性,方便擴(kuò)展,并且可以實(shí)現(xiàn)多個(gè)mysql節(jié)點(diǎn)間的數(shù)據(jù)同步復(fù)制與讀寫,可保障數(shù)據(jù)庫(kù)的服務(wù)高可用及數(shù)據(jù)強(qiáng)一致性。

  PXC屬于一套近乎完美的mysql高可用集群解決方案,相比那些比較傳統(tǒng)的基于主從復(fù)制模式的集群架構(gòu)MHA和MM+keepalived,galera cluster最突出特點(diǎn)就是解決了詬病已久的數(shù)據(jù)復(fù)制延遲問(wèn)題,基本上可以達(dá)到實(shí)時(shí)同步。而且節(jié)點(diǎn)與節(jié)點(diǎn)之間,他們相互的關(guān)系是對(duì)等的。本身galera cluster也是一種多主架構(gòu)。galera cluster最關(guān)注的是數(shù)據(jù)的一致性,對(duì)待事物的行為時(shí),要么在所有節(jié)點(diǎn)上執(zhí)行,要么都不執(zhí)行,它的實(shí)現(xiàn)機(jī)制決定了它對(duì)待一致性的行為非常嚴(yán)格,這也能非常完美的保證MySQL集群的數(shù)據(jù)一致性;

  對(duì)galera cluster的封裝有兩個(gè),雖然名稱不同,但實(shí)質(zhì)都是一樣的,使用的都是galera cluster。一個(gè)MySQL的創(chuàng)始人在自己全新的MariaDB上實(shí)現(xiàn)的MAriaDB cluster;一個(gè)是著名的MySQL服務(wù)和工具提供商percona實(shí)現(xiàn)的percona xtradb cluster,簡(jiǎn)稱PXC

  要搭建PXC架構(gòu)至少需要3個(gè)mysql實(shí)例來(lái)組成一個(gè)集群,三個(gè)實(shí)例之間不是主從模式,而是各自為主,所以三者是對(duì)等關(guān)系,不分從屬,這就叫multi-master架構(gòu)??蛻舳藢懭牒妥x取數(shù)據(jù)時(shí),連接哪個(gè)實(shí)例都是一樣的。讀取到的數(shù)據(jù)時(shí)相同的,寫入任意一個(gè)實(shí)例之后,集群自己會(huì)將新寫入的數(shù)據(jù)同步到其他實(shí)例上,這種架構(gòu)不共享任何數(shù)據(jù),是一種高冗余架構(gòu)。

--:galera cluster的功能有7點(diǎn),如下:

①:多主架構(gòu):真正的多點(diǎn)讀寫集群,在任何時(shí)候讀寫的數(shù)據(jù)都是最新的;

②:同步復(fù)制:集群不同節(jié)點(diǎn)之間的數(shù)據(jù)同步,沒(méi)有延遲,在數(shù)據(jù)庫(kù)掛掉之后,數(shù)據(jù)不會(huì)丟失;

③:并發(fā)復(fù)制:從節(jié)點(diǎn)在apply數(shù)據(jù)時(shí),支持并行執(zhí)行,有更好的性能表現(xiàn)

④:故障切換:因?yàn)橹С侄帱c(diǎn)寫入,所以在出現(xiàn)數(shù)據(jù)庫(kù)故障時(shí)可以很容易的進(jìn)行故障切換

⑤:熱插拔:在服務(wù)期間,如果數(shù)據(jù)庫(kù)掛了,只要監(jiān)控程序發(fā)現(xiàn)的夠快,不可服務(wù)時(shí)間就會(huì)非常少,在節(jié)點(diǎn)故障期間,節(jié)點(diǎn)本身對(duì)集群的影響非常?。?/p>

⑥:自動(dòng)節(jié)點(diǎn)克?。涸谛略龉?jié)點(diǎn)或停機(jī)維護(hù)時(shí),增量數(shù)據(jù)或基礎(chǔ)數(shù)據(jù)不需要人工手動(dòng)備份提供,galera cluster會(huì)自動(dòng)拉取在線節(jié)點(diǎn)數(shù)據(jù),集群最終會(huì)變?yōu)橐恢拢?/p>

⑦:對(duì)應(yīng)用透明:集群的維護(hù),對(duì)應(yīng)用程序是透明的,幾乎感覺(jué)不到;

--PXC原理:

PXC最常使用以下4個(gè)端口號(hào):

 3306-數(shù)據(jù)庫(kù)對(duì)外服務(wù)的端口號(hào)。

 4444-請(qǐng)求SST的端口(SST是指數(shù)據(jù)庫(kù)一個(gè)備份全量文件的傳輸。)

 4567-組成員之間進(jìn)行溝通的一個(gè)端口號(hào)

 4568-用于傳輸IST(相對(duì)于SST來(lái)說(shuō)的一個(gè)增量)

PXC的操作流程:

 首先客戶端先發(fā)起一個(gè)事務(wù),該事務(wù)先在本地執(zhí)行,執(zhí)行完成之后就要發(fā)起對(duì)事務(wù)的提交操作了。在提交之前需要將產(chǎn)生的復(fù)制寫集廣播出去,然后獲取到一個(gè)全局的事務(wù)ID號(hào),一并傳送到另一個(gè)節(jié)點(diǎn)上面。通過(guò)合并數(shù)據(jù)之后,發(fā)現(xiàn)沒(méi)有沖突數(shù)據(jù),執(zhí)行apply_cd和commit_cb動(dòng)作,否則就需要取消此次事務(wù)的操作。而當(dāng)前server節(jié)點(diǎn)通過(guò)驗(yàn)證之后,執(zhí)行提交操作,并返回OK,如果驗(yàn)證沒(méi)通過(guò),則執(zhí)行回滾。當(dāng)然在生產(chǎn)中至少要有3個(gè)節(jié)點(diǎn)的集群環(huán)境,如果其中一個(gè)節(jié)點(diǎn)沒(méi)有驗(yàn)證通過(guò),出現(xiàn)了數(shù)據(jù)沖突,那么此時(shí)采取的方式就是講出現(xiàn)不一致的節(jié)點(diǎn)踢出集群環(huán)境,而且它自己會(huì)執(zhí)行shutdown命令,自動(dòng)關(guān)機(jī)。

PXC的優(yōu)點(diǎn):

①:實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)集群架構(gòu)的高可用性和數(shù)據(jù)的 強(qiáng)一致性。

②:完成了真正的多節(jié)點(diǎn)讀寫的集群方案。

③:改善了傳統(tǒng)意義上的主從復(fù)制延遲問(wèn)題,基本上達(dá)到了實(shí)時(shí)同步。

④:新加入的節(jié)點(diǎn)可以自動(dòng)部署,無(wú)須提供手動(dòng)備份,維護(hù)起來(lái)很方便。

⑤:由于是多節(jié)點(diǎn)寫入,所以數(shù)據(jù)庫(kù)故障切換很容易。

PXC的缺點(diǎn):

①:新加入的節(jié)點(diǎn)開(kāi)銷大,需要復(fù)制完整的數(shù)據(jù)。采用SST傳輸開(kāi)銷太大。

②:任何更新事務(wù)都需要全局驗(yàn)證通過(guò),才會(huì)在每個(gè)節(jié)點(diǎn)庫(kù)上執(zhí)行。集群性能受限于性能最差的節(jié)點(diǎn),也就是經(jīng)常說(shuō)的短板效應(yīng)。

③:因?yàn)樾枰WC數(shù)據(jù)的一致性,所以在多節(jié)點(diǎn)并發(fā)寫時(shí),鎖沖突問(wèn)題比較嚴(yán)重。

④:存在寫擴(kuò)大問(wèn)題,所有的節(jié)點(diǎn)上都會(huì)發(fā)生些操作。

⑤:只支持innodb存儲(chǔ)引擎的表。

⑥:沒(méi)有表級(jí)別的鎖定,執(zhí)行DDL語(yǔ)句操作會(huì)把整個(gè)集群鎖住,而且也 kill 不了(建議使用Osc操作,即在線DDL)

⑦:所有的表必須含有主鍵,不然操作數(shù)據(jù)時(shí)會(huì)報(bào)錯(cuò)。

PXC搭建的注意點(diǎn):

  首先要規(guī)范集群中節(jié)點(diǎn)的數(shù)量,整個(gè)集群中節(jié)點(diǎn)數(shù)控制在最少3個(gè)、最多8個(gè)范圍內(nèi)。最少3個(gè)節(jié)點(diǎn)是為了防止出現(xiàn)腦裂現(xiàn)象,因?yàn)橹挥性趦蓚€(gè)節(jié)點(diǎn)下才會(huì)出現(xiàn)此現(xiàn)象。腦裂現(xiàn)象的標(biāo)志就是輸入任何命令、返回結(jié)果都是unkown command,節(jié)點(diǎn)在集群中,會(huì)因?yàn)樾鹿?jié)點(diǎn)的加入或者故障,同步失效等而發(fā)生狀態(tài)的切換。

--節(jié)點(diǎn)狀態(tài)變化階段:

 open:節(jié)點(diǎn)啟動(dòng)成功,嘗試連接到集群。

 primary:節(jié)點(diǎn)已處于集群中,在新節(jié)點(diǎn)加入時(shí),選取donor進(jìn)行數(shù)據(jù)同步時(shí)會(huì)產(chǎn)生的狀態(tài)。

 joiner:節(jié)點(diǎn)處于等待接收同步文件時(shí)的狀態(tài)。

 joined:節(jié)點(diǎn)完成數(shù)據(jù)同步的工作,嘗試保持和集群進(jìn)度一致。

 synced:節(jié)點(diǎn)正常提供服務(wù)的狀態(tài),表示已經(jīng)同步完成并和集群進(jìn)度保持一致。

 doner:節(jié)點(diǎn)處于為新加入的節(jié)點(diǎn)提供全量數(shù)據(jù)時(shí)的狀態(tài)。

注意:doner節(jié)點(diǎn)就是數(shù)據(jù)的貢獻(xiàn)者,如果一個(gè)新節(jié)點(diǎn)加入集群,此時(shí)又需要大量數(shù)據(jù)的SST傳輸,就有可能因此而拖垮整個(gè)集群的性能。所以在生產(chǎn)環(huán)境中,如果數(shù)據(jù)量小,還可以使用SST全量傳輸,但如果數(shù)據(jù)量很大就不建議使用這種方式了??梢钥紤]先建立主從關(guān)系,在加入集群。

PXC有兩種節(jié)點(diǎn)的數(shù)據(jù)傳輸方式:一種叫SST全量傳輸,另一種叫IST增量傳輸。

SST傳輸有:xtrabackup、mysqldump和rsync三種方法。而增量傳輸就一種方法就是xtrabackup。但生產(chǎn)環(huán)境中一般數(shù)據(jù)量不大的時(shí)候,可以使用SST全量傳輸,但也只實(shí)現(xiàn)xtrabackup方法。

在PXC中還有一個(gè)特別重要的模塊就是GCache。它的核心功能就是每個(gè)節(jié)點(diǎn)緩存當(dāng)前最新的寫集。如果有新節(jié)點(diǎn)加入進(jìn)來(lái),就可以把新數(shù)據(jù)的增量傳遞給新節(jié)點(diǎn),而不需要再使用SST方式了。這樣可以讓節(jié)點(diǎn)更快地加入集群中。涉及參數(shù)如下:

 gcache.size:代表用來(lái)緩存寫集增量信息的大小。它的默認(rèn)大小是128MB,通過(guò)wsrep_provider_options參數(shù)設(shè)置。建議調(diào)整為2GB-4GB范圍,足夠的空間便于緩存更多的增量信息。

 gcache.mem_size:代表gcache中內(nèi)存緩存的大小,適度調(diào)大可以提高整個(gè)集群的性能。

 gcache.page_size:可以理解為如果內(nèi)存不夠用(gcache不足),就直接將寫集寫入磁盤文件中。

--:PXC的工作模式:

 galera的工作模式是——某個(gè)節(jié)點(diǎn)寫入一個(gè)事務(wù),它會(huì)廣播到其他節(jié)點(diǎn),而這個(gè)所謂的其他節(jié)點(diǎn),也包括自己。也就說(shuō)自己發(fā)出來(lái)的事務(wù),自己也會(huì)收到,只是在收到并產(chǎn)生GTID之后,就被簡(jiǎn)單忽略了,而不會(huì)再去apply一次。

--:galera的并發(fā)控制機(jī)制:

  并發(fā)控制主要是在接口galera_pre_commit中完成的,這個(gè)接口是galera最重要的接口之一,這里面實(shí)現(xiàn)了最重要的復(fù)制、驗(yàn)證邏輯。目前,這個(gè)接口中包括的并發(fā)控制有以下幾點(diǎn):

①:數(shù)據(jù)復(fù)制:

 目前的galera版本中,寫集數(shù)據(jù)的發(fā)送是通過(guò)asio的異步方式將數(shù)據(jù)廣播出去。這個(gè)發(fā)送是串行的,是一個(gè)臨界區(qū),因?yàn)樵诿看?發(fā)送前,邏輯上還需要分片,并且每次發(fā)送完成之后,需要等待一個(gè)GTID的值,所以為了保證數(shù)據(jù)的一致性,這個(gè)發(fā)送操作需要串行;

②:寫集驗(yàn)證:

 要求所有進(jìn)入處理區(qū)的GTID必須是順序的,因?yàn)镚TID是順序產(chǎn)生的,所以在順序的基礎(chǔ)上,同一時(shí)間必須只有一個(gè)事務(wù)可以進(jìn)行處理,說(shuō)白了就是串行;

 受這種層次并發(fā)控制管理的操作主要有驗(yàn)證操作,因此說(shuō)驗(yàn)證是串行的;

③:寫集apply

④:事務(wù)commit

  這個(gè)層次的并發(fā)控制機(jī)制,默認(rèn)是3,建議也是3,就是串行提交,這樣就保證了不管在主庫(kù)還是從庫(kù),所有的節(jié)點(diǎn)產(chǎn)生的binlog都是完全相同的;

3、galera 接口:

---galera_init:

  這個(gè)接口的作用是初始化一個(gè)galera節(jié)點(diǎn),這是一個(gè)PXC節(jié)點(diǎn)調(diào)用的第一個(gè)wsrep接口,在啟動(dòng)服務(wù)器的時(shí)候初始化,將所有需要的參數(shù)和環(huán)境變量初始化。(如:集群名字,實(shí)例地址、需要這個(gè)接口做binlog的復(fù)制等)

---galera_connect:

  這個(gè)接口是第二個(gè)調(diào)用的接口。這個(gè)接口的作用是將當(dāng)前節(jié)點(diǎn)加入集群中。加入集群前會(huì)調(diào)用函數(shù)wsrep_view_handler_cb來(lái)判斷新加入節(jié)點(diǎn)與集群的數(shù)據(jù)是否同步;

---galera_recv:

  這個(gè)接口的作用是,在這個(gè)函數(shù)里阻塞式的接收其他節(jié)點(diǎn)及本節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并且調(diào)用復(fù)制apply函數(shù)執(zhí)行復(fù)制操作。(這個(gè)接口實(shí)際上是可以并行存在的。它對(duì)應(yīng)的是參數(shù)wsrep_slave_threads有多少個(gè)線程,就有多少個(gè)galera_recv的調(diào)用)

---galera_pre_commit:

  這個(gè)接口是galera最重要的接口之一。它的作用包括兩部分,首先是將當(dāng)前指定的事務(wù)寫集廣播給整個(gè)集群節(jié)點(diǎn),然后就是驗(yàn)證,如果驗(yàn)證成功,則將處理權(quán)交給上層,繼續(xù)做數(shù)據(jù)庫(kù)事務(wù)的提交操作;這個(gè)接口是在數(shù)據(jù)庫(kù)事務(wù)提交時(shí)調(diào)用的,調(diào)用這個(gè)接口時(shí),必須是本地事務(wù)已經(jīng)執(zhí)行完成;

---galera_replay_trx:

  這個(gè)接口的作用及使用,就是在驗(yàn)證過(guò)程中,由于數(shù)據(jù)庫(kù)鎖的沖突,當(dāng)前操作被其他線程自治縣了galera_abort_pre_com_mit,導(dǎo)致當(dāng)前線程被強(qiáng)制中止,但是由于寫集已經(jīng)復(fù)制到其他節(jié)點(diǎn),所以本節(jié)點(diǎn)這個(gè)事務(wù)必須要完成。通過(guò)這個(gè)接口,將這個(gè)事務(wù)的寫集做一次apply,所以就叫replay;

---galera_append_key:

  這個(gè)接口就是所謂的galera驗(yàn)證,被驗(yàn)證的對(duì)象實(shí)際上就是寫集,而構(gòu)成寫集的內(nèi)容,其實(shí)就是通過(guò)這個(gè)接口來(lái)完成的;

---galera_append_data:

  這個(gè)接口是當(dāng)前事務(wù)所生成的binlog內(nèi)容,也就是說(shuō)key在驗(yàn)證通過(guò)之后,使用data在從節(jié)點(diǎn)執(zhí)行,即可做到數(shù)據(jù)同步;

---galera_post_commit:

  這個(gè)接口是用來(lái)真正提交事務(wù)的。這個(gè)接口包括4個(gè)功能:更新?tīng)顟B(tài)參數(shù)wsrep_last_committed的值,表示當(dāng)前事務(wù)已經(jīng)真正提交了;更新參數(shù)wsrep_local_commits的值,表示本地又成功提交了一個(gè)事務(wù);檢查當(dāng)前驗(yàn)證寫集緩沖區(qū)是不是可以做purge操作;

---galera_to_execute_start:

  這個(gè)接口專門用來(lái)處理DDL語(yǔ)句的執(zhí)行;

---galera_to_execute_end:

  這個(gè)接口實(shí)際上和galera_post_commit功能一樣,成對(duì)出現(xiàn),是為處理不同語(yǔ)句而設(shè)置的,主要就是為了從commit臨界區(qū)中出來(lái),從而讓其他事務(wù)繼續(xù)提交;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前標(biāo)題:MySQL高可用——PXC簡(jiǎn)介-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article46/icieg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、外貿(mào)建站網(wǎng)站改版、服務(wù)器托管、定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
福利一区福利二区视频| 亚洲国产精品性色av| 亚洲精品午夜久久久av| 日韩欧美一区二区狠狠插| 亚洲男人天堂av电影| 亚洲欧美精品一中文字幕| 免费无遮挡18禁视频| 成年人免费国产视频网站| av天堂中文一区二区三区| 日韩欧美在线一区二区| 大香蕉欧美日韩在线视频| 亚洲一区二区视频在线播放| 国产网爆热门精品一区二区| 亚洲一区成人免费电影| 国产av麻豆全部免费| 蜜臀人妻久久一区二区三| 日韩黄片免费观看大全| 国产黄色一区二区三区,| 熟女中文字幕亚洲一区二区| 久久精品国产亚洲七七| 国产精品成久久久久三级| 夫妻性生活视频全过程| 啄木乌法国一区二区三区| 久久精品人妻一区二区| 久久人妻少妇嫩草av蜜桃综合| 亚洲青涩精品一区二区三区| 亚洲午夜天堂在线a毛片| 日本福利写真在线观看| 一区二区三区四区蜜桃av| av中文字幕在线电影| 一区二区三区日韩国产电影 | 人妻少妇系列一区二区| 成人免费毛片内射视频| 18禁成年大片免费网站| 中文字幕久久一区二区三区| 国产精品久久乱码综合| 福利av一区二区三区| 99久久精品国产熟女| 久久精品国产亚洲av高清一区| 91日本精品一区二区| 亚洲精品成人午夜久久|