色综合电影网,欧美男人天堂,成人直播视频,白浆视频在线观看

mysql的高可用方案(mysql數(shù)據(jù)庫高可用架構(gòu))

本文主要介紹mysql的高可用性方案(mysql數(shù)據(jù)庫高可用性架構(gòu)),下面一起看看mysql的高可用性方案(mysql數(shù)據(jù)庫高可用性架構(gòu))相關(guān)資訊。
高可用性架構(gòu)基本上是互聯(lián)網(wǎng)服務(wù)的一個標(biāo)準(zhǔn),它要求應(yīng)用服務(wù)和數(shù)據(jù)庫服務(wù)的高可用性。雖然互聯(lián)網(wǎng)服務(wù)是一天24小時可用的,但或多或少還是有一些服務(wù)是不可用的。例如,當(dāng)網(wǎng)頁可以 打不開,百度可以 找不到也沒有微博和。一般來說,高可用性措施在一年內(nèi)可以服務(wù)的程度不能作為參考時間。它必須實現(xiàn)三個9的可用性,并且一年內(nèi)只需要八小時的服務(wù)。但如果要做到五個9的可用性,只需要五分鐘,一年內(nèi)服務(wù)就會中斷。所以雖然每個公司都說他們的服務(wù)是7 * 24,但實際上可以做到5,9甚至更少。國內(nèi)互聯(lián)網(wǎng)巨頭bat(百度、阿里巴巴、騰訊)都有因故障停機(jī)的問題。對于一個系統(tǒng)來說,可能會有很多模塊,比如前端應(yīng)用、緩存、數(shù)據(jù)庫、搜索、消息隊列等等。為了保證整個系統(tǒng)的高可用性,每個模塊都需要高可用性。對于數(shù)據(jù)庫服務(wù)來說,高可用性可以更復(fù)雜,可以用于用戶服務(wù),不僅僅是訪問,還要保證正確性。因此,在討論數(shù)據(jù)庫的高可用性解決方案時,還要考慮程序的數(shù)據(jù)一致性。主要討論了mysql數(shù)據(jù)庫的高可用性方案,并介紹了各種方案的特點和優(yōu)缺點。這篇文章是各種計劃的總結(jié)。希望能給大家一些建議,和大家一起探討。1。基于共享存儲方案的san方案:san(存儲區(qū)域網(wǎng)),簡單來說就是可以實現(xiàn)網(wǎng)絡(luò)中不同服務(wù)器之間的數(shù)據(jù)共享,共享存儲可以與數(shù)據(jù)庫服務(wù)器和存儲解耦。共享存儲時,服務(wù)器可以掛載文件系統(tǒng)并正常運(yùn)行。如果服務(wù)器掛起,備用服務(wù)器可以掛載相同的文件系統(tǒng),執(zhí)行所需的恢復(fù)操作,然后啟動mysql:優(yōu)點:1??梢员苊庥纱鎯χ獾慕M件導(dǎo)致的數(shù)據(jù)丟失。2。簡單的部署、簡單的交換邏輯和透明的應(yīng)用。3.確保主要數(shù)據(jù)的強(qiáng)一致性。局限性或缺點:1。共享存儲是一個單點。如果共享存儲被掛起,數(shù)據(jù)將會丟失。2。價格比價格貴。2?;诖疟P的復(fù)制方案drbd方案:drbd(distributed replication block device)是一種磁盤復(fù)制技術(shù),可以達(dá)到類似san.dbrd的效果,是一種在linux內(nèi)核模塊中實現(xiàn)的塊級同步復(fù)制技術(shù)。它將主服務(wù)器的每個塊復(fù)制到另一個服務(wù)器上塊設(shè)備通過網(wǎng)卡并記錄在主設(shè)備提交塊. drbd類似st .,也有熱備用機(jī)。當(dāng)它開始提供服務(wù)時,它將為故障機(jī)使用相同的數(shù)據(jù),但drbd的數(shù)據(jù)是復(fù)制的,不能共享。drbd的架構(gòu)圖如下:優(yōu)點uff1a 1。切換到應(yīng)用程序透明2。擔(dān)保人要求數(shù)據(jù)具有很強(qiáng)的一致性。局限性或缺點:1。影響寫入性能,因為每次寫入磁盤時,基本上都需要與網(wǎng)絡(luò)服務(wù)器同步。2。通常,兩個節(jié)點被配置為同步,這導(dǎo)致可擴(kuò)展性差。3.圖書館可以 不提供閱讀服務(wù),浪費(fèi)資源。3.基于主從復(fù)制(單點寫入)方案,依靠底層共享存儲的磁盤復(fù)制技術(shù),解決了mysql服務(wù)器單點和磁盤的單點問題。在實際生產(chǎn)環(huán)境中,高可用性很大程度上取決于mysql本身的復(fù)制,這使得一個或多個熱備份復(fù)制主機(jī)和exchange服務(wù)無法控制熱備份。下面的程序是基于主從復(fù)制方案,功能越來越強(qiáng)大,由簡單到復(fù)雜,實現(xiàn)難度由易到難。可以根據(jù)實際情況選擇合適的方案。3.1簡單/心跳。程序介紹:簡單就是ha軟件。它的功能是檢測服務(wù)器(web服務(wù)器、db服務(wù)器等)的狀態(tài)。).檢測原理是模擬網(wǎng)絡(luò)請求檢測,包括http _ get | ssl _ get | tcp _ check | smtp _ check | misc _ check等等。db服務(wù)器,主要是ip和端口(tcp_check),但這可能還不夠(比如數(shù)據(jù)庫服務(wù)器是只讀的),所以simple還支持一個簡單的驗證服務(wù)器,帶有自定義腳本。通過傾聽來監(jiān)控現(xiàn)狀。如果服務(wù)器出現(xiàn)故障,故障服務(wù)器將從系統(tǒng)中刪除。簡單高可用架構(gòu),如下圖所示,簡單軟件分別安裝在主服務(wù)器和從服務(wù)器上,配置相同的vip。vip層屏蔽的ip,應(yīng)用服務(wù)器獲得數(shù)據(jù)庫訪問服務(wù)的vip。當(dāng)主人失敗時,簡單的感知會增強(qiáng)奴隸 的主人,并繼續(xù)為應(yīng)用層提供透明性。優(yōu)勢uff1a 1。安裝簡單,當(dāng)2。主站故障,從站快速切換提供服務(wù)和透明應(yīng)用。局限性或缺點:1。主ip需要在同一個網(wǎng)段。2。為了提供弱檢測機(jī)制,需要定制腳本來確定主機(jī)是否可以提供服務(wù),比如更新心跳表。3.不能保證數(shù)據(jù)的一致性。最初的mysql是異步復(fù)制的。如果主服務(wù)器發(fā)生故障,從服務(wù)器數(shù)據(jù)可能不是最新的,從而導(dǎo)致數(shù)據(jù)丟失。所以在切換時,一定要考慮依賴延遲因子,確定切換策略。對于強(qiáng)一致性的要求,可以采用半同步和半同步來減少數(shù)據(jù)丟失。4.keepalived軟件本身可以 我不能保證。3.2.mha項目簡介:mha (master high availability)是日本一位mysql daniel用perl編寫的mysql數(shù)據(jù)庫故障轉(zhuǎn)移方案,保證了數(shù)據(jù)庫的高可用性,存儲的二進(jìn)制日志從背面的主服務(wù)器上下來。mha可以最大限度地減少數(shù)據(jù)丟失。mha分為兩部分:mha管理器(管理節(jié)點)和mha節(jié)點(數(shù)據(jù)節(jié)點)。mha可以獨(dú)立服務(wù)器部署在不同的機(jī)器上來管理多個主從集群。mha節(jié)點運(yùn)行在每臺mysql服務(wù)器上。它的主要功能是切換二進(jìn)制日志,以確保切換是可能的。mha管理器定期檢查集群中主節(jié)點的數(shù)量。當(dāng)主設(shè)備出現(xiàn)故障時,它可以自動從最新的數(shù)據(jù)升級到新的主設(shè)備,然后所有其他從設(shè)備指向新的主設(shè)備。故障轉(zhuǎn)移方法對應(yīng)用程序是完全透明的。mha的結(jié)構(gòu)如下:mha故障轉(zhuǎn)移過程:發(fā)現(xiàn)主設(shè)備異常,做出一系列判斷,最終確定主設(shè)備下來;檢查配置信息并列出當(dāng)前體系結(jié)構(gòu)中節(jié)點的狀態(tài)。c .處理失敗的主人,vip漂移,或者關(guān)閉基于腳本的mysqld服務(wù)定義。d、從所有比對網(wǎng)站中,選擇離該點最近的從站,然后與主站進(jìn)行比對,獲取binlog差異,并復(fù)制到管理節(jié)點;e .選擇候選節(jié)點的新?lián)碛姓吆托聯(lián)碛姓撸瑢⑿聯(lián)碛姓吲c網(wǎng)站進(jìn)行比較,獲得轉(zhuǎn)發(fā)差異。f、管理節(jié)點將二進(jìn)制日志差異復(fù)制給新的所有者,新所有者的二進(jìn)制日志差異的應(yīng)用與relaylog不同,最終獲取軌跡信息并接受寫請求(read_only = 0)。g .其他奴隸對比網(wǎng)站上的新奴隸,得到relaylog的差異,復(fù)制到對應(yīng)的奴隸;h .管理節(jié)點復(fù)制binlog中各從機(jī)的差異,比較exec_master_log_pos和read_master_log_pos,得到不同的日志;每個從設(shè)備將擁有所有不同的日志,然后重置從設(shè)備并重定向新的所有者;j .新的所有者重置從設(shè)備并清除從設(shè)備信息。優(yōu)勢uff1a 1。開源代碼方便了兩種業(yè)務(wù)場景的開發(fā)。2.在故障轉(zhuǎn)移的情況下,它可以修復(fù)多個從設(shè)備之間的差異日志,并最終保持所有從設(shè)備的數(shù)據(jù)一致。然后選擇一個充當(dāng)新的主,指向另一個從。3.您可以靈活選擇vip方案或全局目錄數(shù)據(jù)庫方案(將主ip映射更改為交換機(jī))。缺點:1。不能保證強(qiáng)一致性,因為從故障主機(jī)保存二進(jìn)制日志并不總是可行的,例如壞的主磁盤或失敗的ssh驗證。2。支持一主多從體系結(jié)構(gòu)要求副本群集必須至少有三臺數(shù)據(jù)庫服務(wù)器,一臺主服務(wù)器和兩臺從服務(wù)器,一臺作為主服務(wù)器,一臺作為備用主服務(wù)器,另一臺作為從庫。3.在使用全局目錄數(shù)據(jù)庫時,我們需要在切換程序時應(yīng)用感知變化,因此它對應(yīng)用程序是不透明的,所以我們需要保持切換對應(yīng)用程序透明,并且仍然依賴于vip。4。不適合大規(guī)模集群部署,配置比較復(fù)雜。5.mha管理節(jié)點本身不保證。3.3的高可用性?;趜ookeeper程序介紹:從前面的討論來看,我們可以看到,無論是簡單方案還是mha方案,都可以解決ha軟件的高可用性問題,因為這本身就是一個點。那么如果ha也引入了多副本,那么,就帶來了新的問題,如何保證2個頂級ha軟件之間的同步。如何保證不同時有多個ha交換操作,這兩個問題本質(zhì)上是分布式系統(tǒng)的一致性問題。所以分布式一致性協(xié)議類似于paxos raft推出的ha軟件,保證了ha軟件的可用性,zookeeper是典型的發(fā)布/訂閱模式的分布式數(shù)據(jù)管理和協(xié)調(diào)框架。方便構(gòu)建的核心功能是擁有豐富數(shù)據(jù)節(jié)點類型的管理員使用事件通知機(jī)制與觀察者進(jìn)行交叉,這涉及到一系列分布式應(yīng)用,如數(shù)據(jù)發(fā)布/訂閱、負(fù)載均衡和分布式協(xié)調(diào)/通知等。集群管理、主控選舉、分布式鎖和分布式隊列等。管理員是一個大話題,你可以從拋媚眼中獲得更多的信息,而我 我在這里討論如何解決ha飼養(yǎng)員的可用性問題。結(jié)構(gòu)圖如下:圖中每個mysql節(jié)點都部署了ha客戶端,用于實時報告本地節(jié)點的心跳狀態(tài)。以城市動物園為例,主庫崩潰,通過修改基于zookeeper節(jié)點(以下簡稱zk)的信息來通知ha。高可用性節(jié)點注冊zk監(jiān)控事件。當(dāng)節(jié)點發(fā)生變化時,會自動感受ha,ha節(jié)點可以部署一個或多個,主容災(zāi). ha節(jié)點通過zookeeper服務(wù)實現(xiàn)數(shù)據(jù)一致性。通過分布式鎖,多個ha節(jié)點無法保證同時切換到主從節(jié)點,ha本身是無狀態(tài)的,所有mysql節(jié)點的狀態(tài)信息都存儲在zookeeper服務(wù)器中。在轉(zhuǎn)換過程中,ha會檢查mysql節(jié)點和交換機(jī)。發(fā)布后讓管理員看到交接過程:a.ha客戶端檢測到主人的異常,做出一系列判斷,最終確定主人;b. that客戶端刪除zk主節(jié)點信息;由于攔截機(jī)制,ha會注意到一個節(jié)點被刪除;d.ha重新檢查mysql節(jié)點,比如建立連接,更新心跳表等。當(dāng)e .確認(rèn)異常時,開關(guān)發(fā)出。讓 讓我們看看這個架構(gòu)能否保證ha本身的高可用性。(1)。如果ha客戶端本身掛起,mysql節(jié)點正常嗎?客戶管理mysql節(jié)點無法與管理員保持心跳。zk服務(wù)將刪除該節(jié)點,ha將意識到這一變化,并準(zhǔn)備嘗試切換。在切換之前,它將被重新檢查。mysql節(jié)點正常時,不會切換。(the.mysql節(jié)點和administrator s網(wǎng)?因為高可用性客戶端和節(jié)點在同一個主機(jī)中,所以高可用性客戶端無法報告zk ;又是心跳。zk會刪除相應(yīng)的mysql節(jié)點信息,ha會審核。,還是不合格,開關(guān)。(3)哈掛了,表現(xiàn)如何?因為ha是無狀態(tài)的,有多個副本,所以ha被掛起,不會影響整個系統(tǒng)。優(yōu)勢uff1a 1。保證了整個系統(tǒng)的高可用性。2的強(qiáng)一致性。主從依賴于mysql本身,比如半同步,或者周邊工具的補(bǔ)充策略,類似于mha。第三,擴(kuò)展性很強(qiáng),可以管理大規(guī)模集群。缺點:1。zk介紹說,整個系統(tǒng)變得復(fù)雜了。4。第三部分討論基于集群(多點寫入)的方案基本上是目前市場的主流,由單點組成。雖然我們可以使用中間件來分段(切片),但我們?nèi)匀恢辉试S一個節(jié)點寫入相同的數(shù)據(jù)。從這個角度來看,上述方案是偽分布式的。下面兩種方案是真正分布式的,可以寫在多個節(jié)點的同一個數(shù)據(jù)上。理論上,這類似于oracle rac、emc 的greenplum分布式數(shù)據(jù)庫和mysql。主要有兩種解決方案:基于galera的medicine和ndb集群,mysql集群基于很多有限的ndb存儲引擎,medicine基于innodb引擎,但有其局限性,但由于應(yīng)用廣泛,有一定的參考價值。據(jù)我所知,公司在生產(chǎn)環(huán)境中使用pxc方案。pxc結(jié)構(gòu)圖(percona xtradb集群)如下:優(yōu)點uff1a 1。準(zhǔn)同步復(fù)制超過2。節(jié)點可以同時讀寫,可以實現(xiàn)寫擴(kuò)展,比切片方案更進(jìn)一步。三。自動節(jié)點管理4。數(shù)據(jù)是嚴(yán)格一致的。5。服務(wù)非常到位缺點:1。支持innodb引擎2。所有表都有主鍵。3.因為寫入與其他節(jié)點同步,所以存在寫入擴(kuò)展問題。4。非常依賴網(wǎng)絡(luò)的穩(wěn)定性,不適合遠(yuǎn)程同步。5。準(zhǔn)確地說,中間件的高可用性與否是特別相關(guān)的,因為切換是在數(shù)據(jù)庫級別進(jìn)行的,但中間層的引入使應(yīng)用程序更加透明。之前介紹的中間件,所有的方案基本都是依賴vip漂移機(jī)制或者不依賴vip,無法保證應(yīng)用的透明性。透明和高可用性應(yīng)用程序可以同時加入中間件層。此外,中間層也可以很容易地劃分和擴(kuò)展。代理的解決方案有很多,比如mysql代理和mysql的fabric,阿里巴巴coba和分時數(shù)據(jù)傳輸線等等。我們以fabric為例,框架的內(nèi)容是:連接應(yīng)用程序所需的fabric,然后節(jié)點通過xml-rpc協(xié)議連接到fabric。結(jié)構(gòu)節(jié)點依靠備份存儲(備份存儲)來存儲整個高可用性群集的元數(shù)據(jù)信息。連接器讀取備份存儲信息,然后將元數(shù)據(jù)緩存到緩存中。這種方法的優(yōu)點是減少了相互連接的次數(shù)。管理節(jié)點交互的成本。每個ha組都有一個主節(jié)點和多個輔助節(jié)點(從節(jié)點)。當(dāng)主節(jié)點出現(xiàn)異常時,將從輔助節(jié)點中選擇最合適的節(jié)點升級到新的主節(jié)點,其余節(jié)點將被重定向到新節(jié)點。這些都是自動操作,不懂業(yè)務(wù)。ha切換后,需要通知連接器的元數(shù)據(jù)信息。優(yōu)勢uff1a 1。切換到應(yīng)用程序透明2。擴(kuò)展性,易于切片和擴(kuò)展3。它可以部署到整個機(jī)房缺點:1。是一個比較新的組件,實際應(yīng)用場景不多。2。在沒有解決強(qiáng)一致性問題的情況下,強(qiáng)一致性依賴于mysql本身(半同步)以及回滾和補(bǔ)充機(jī)制。綜上,介紹了幾種典型的高可用架構(gòu)mysql,包括共享存儲方案、磁盤復(fù)制方案和主從復(fù)制方案。對于主從復(fù)制方案,這很簡單,mha和城市動物園介紹了一下。每一個方案,總是可用的,具有很強(qiáng)的數(shù)據(jù)一致性,并切換到解釋應(yīng)用程序的透明性。個人認(rèn)為,基于mysql的復(fù)制方案是主流且成熟的。中間件和管理員的引入可以使系統(tǒng)可用性更高,支持更大的規(guī)模,但也對研發(fā)、運(yùn)維提出了更高的要求。所以選擇方案的選擇是基于業(yè)務(wù)場景和運(yùn)維規(guī)模。
了解更多mysql的高可用性方案(mysql數(shù)據(jù)庫高可用性架構(gòu))相關(guān)內(nèi)容請關(guān)注本站點。

筆記本電腦怎么用麥(臺式電腦怎么裝麥)
0x0000000c2藍(lán)屏代碼是什么意思(0xc00000c2藍(lán)屏代碼)
運(yùn)維工程師培訓(xùn),新能源充電樁運(yùn)維工程師培訓(xùn)3個月學(xué)費(fèi)多少錢
榮耀暢玩4pro(華為榮耀暢玩4)
windows10安裝寶塔(windows怎么裝寶塔)
mysql的高可用方案(mysql數(shù)據(jù)庫高可用架構(gòu))
蘋果m2芯片百度百科(iphone m2芯片)
win10如何開啟和關(guān)閉測試模式(win10如何開啟和關(guān)閉測試模式選項)
鮑魚的家常做法
bitlocker解鎖后無法讀取文件(bitlocker無法繼續(xù)解密)
筆記本m2接口怎么安裝方法,m2接口的固態(tài)怎么裝
手機(jī)淘寶開店怎么開店(手機(jī)淘寶開店怎么開的怎么注冊)
nokia638怎么設(shè)置鈴聲
4s怎么用搜狗輸入法,蘋果4S下載了輸入法可是用不了誰能告訴我怎么設(shè)置
高通 專利(高通的專利費(fèi)還收多少年)
舊版賽爾號(賽爾號經(jīng)典版手游下載)
兩千一下的筆記本電腦
怎么恢復(fù)已經(jīng)刪除的照片,vivo怎么恢復(fù)已經(jīng)刪除的照片
白天支出(白天消費(fèi))
如何制作裝機(jī)u盤,這樣制作裝機(jī)u盤
主站蜘蛛池模板: 伽师县| 宁陵县| 泽普县| 景谷| 德清县| 常熟市| 新巴尔虎右旗| 和政县| 嘉义县| 岫岩| 察雅县| 鹿邑县| 阿巴嘎旗| 大安市| 始兴县| 颍上县| 无为县| 凤山县| 新邵县| 读书| 济南市| 井研县| 通榆县| 凤山市| 武汉市| 新平| 梁山县| 丰宁| 任丘市| 西乌珠穆沁旗| 德清县| 阳高县| 泊头市| 拉萨市| 纳雍县| 南和县| 习水县| 柞水县| 汾阳市| 崇信县| 巢湖市|