mysql的高可用方案(mysql數據庫高可用架構)

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

    筆記本電腦怎么用麥(臺式電腦怎么裝麥)
    0x0000000c2藍屏代碼是什么意思(0xc00000c2藍屏代碼)
    運維工程師培訓,新能源充電樁運維工程師培訓3個月學費多少錢
    榮耀暢玩4pro(華為榮耀暢玩4)
    windows10安裝寶塔(windows怎么裝寶塔)
    mysql的高可用方案(mysql數據庫高可用架構)
    蘋果m2芯片百度百科(iphone m2芯片)
    win10如何開啟和關閉測試模式(win10如何開啟和關閉測試模式選項)
    鮑魚的家常做法
    bitlocker解鎖后無法讀取文件(bitlocker無法繼續解密)
    筆記本m2接口怎么安裝方法,m2接口的固態怎么裝
    手機淘寶開店怎么開店(手機淘寶開店怎么開的怎么注冊)
    nokia638怎么設置鈴聲
    4s怎么用搜狗輸入法,蘋果4S下載了輸入法可是用不了誰能告訴我怎么設置
    高通 專利(高通的專利費還收多少年)
    舊版賽爾號(賽爾號經典版手游下載)
    兩千一下的筆記本電腦
    怎么恢復已經刪除的照片,vivo怎么恢復已經刪除的照片
    白天支出(白天消費)
    如何制作裝機u盤,這樣制作裝機u盤
    主站蜘蛛池模板: 久久无码人妻一区二区三区午夜| 一区二区三区免费在线视频| 亚洲欧美国产国产一区二区三区| 日韩人妻无码免费视频一区二区三区| 亚洲国产精品一区二区九九| 亚洲综合色一区二区三区| 国产精品 视频一区 二区三区| 精品国产一区二区三区久久久狼 | 狠狠综合久久av一区二区| 亚洲国产一区二区三区| 国产成人无码精品一区在线观看 | 亚洲国产精品一区二区成人片国内| 国产成人精品一区二三区熟女| 精品视频一区二区三区| 精品国产一区二区三区2021| 一区二区三区四区精品| 精品人妻一区二区三区四区| 爱爱帝国亚洲一区二区三区| 亚洲av无码一区二区三区在线播放| 人妻无码一区二区三区AV| 日韩免费无码一区二区三区 | 中文字幕一精品亚洲无线一区| 一区二区三区四区国产| 不卡无码人妻一区三区音频| 中文字幕亚洲一区| 精品无码一区二区三区在线 | 国产成人精品无码一区二区老年人| 日韩毛片基地一区二区三区| 亚洲欧洲专线一区| 亚洲AV无码一区二三区| 国产亚洲一区二区三区在线| 亚洲一区二区久久| 国产伦精品一区二区三区视频猫咪| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲AV无码一区二区三区电影| 韩国福利影视一区二区三区| 亚洲性日韩精品一区二区三区| 亚洲一区二区三区在线网站| 一区二区视频在线免费观看| 亚洲AV色香蕉一区二区| 一区二区三区91|