溫故知新-EverDB之在云端
一、功能和技術架構
我就是EverDB alive高可用組件,相比于我大哥的方案,我是另一種浪漫。他是什么都管,我是一眼萬年。業務請求出現,與我無關,我只愛我的MySQL節點。對愛情的專一使我蛻變,什么配置節點元數據源,全都離我漸行漸遠。
圖1.EverDB分布式方案
在EverDB分布式方案中,業務訪問必須經過中間件grid節點解析后再發送給后端MySQL主節點執行。
圖2.EverDB高可用方案(MySQL主從+alive組件)
在EverDB高可用方案中,alive組件不處理業務訪問,僅作為旁路進行MySQL節點的監控,同時去掉zookeeper組件,僅服務一組MySQL主從。
終有一天我發現,即使瘦了也不改我對她的愛戀。我們的世界是如此簡單,小小的三臺服務器里面,每臺都有她和我的陪伴,或許還有個control agent組件,它從不打擾只會在邊上看。主從同步是她的溫婉,引導切換是我的諾言。我的一生平平淡淡,分分秒秒望著我的節點(監控狀態),偶爾參加新主的競選(選主),你若問我選主如何實現,raft協議建議你看一看,她若倒下我第一時間抬起她的身板(守護進程),她若倒地不起我亦生無可戀(失效)。失去一個她是我悲傷的極限,除非有特別的意愿,再失去她的笑顏,寫數據將是枉然(根據raft協議,三節點集群最多承受一個節點失效,兩個節點失效后,剩下的數據庫節點將轉為只讀狀態)。
圖3.發生宕機后的EverDB alive集群行為
二、云上部署和切換
忽然有那么一天,她說想上云端。我惶惶不敢多言,跟著她走到海角天邊。云上的網絡如此多變,分為A棧和B棧,VPC和微隔離都要實現。
部署倒是不難,難的是只要一鍵。云作業平臺來到跟前,許下壯志豪言:一是系統環境創建,用戶權限掛盤;二是數據庫的出現,我們的故事值得期盼;三是control agent組件,方便統一納管。簡單一鍵三連,快速安全輕便。等到接入云管,配合資源創建,PaaS化就是我們的答案。
圖4.基于VIP的業務切流
下面說說切換,VIP是我的老伙伴,A棧加VPC網絡很好選。我親手為她戴上VIP項鏈,幫助業務找到她的跟前。如果她累倒在我身邊,我會不斷地拉起呼喚,選出新的主節點,她的伙伴會拿起VIP項鏈,繼續她未完的心愿,我的她笑容會重新燦爛,業務和她永遠不會失散。
圖5.基于ZDNS的業務切流
其余場景使我犯了難,但為了她我不能無功而返。這時ZDNS走上前,說她也許能幫一點。夢想就要實現,我拿起她的手鏈(業務網卡或通用網卡地址),綁到ZDNS指尖,如果有那么一天,或許我的她不再康健,我陪她暫離這世間,她的伙伴完成了競選,向ZDNS遞交新的手鏈,業務重新到達自己的彼岸。我會不斷呼喚,DBA也趕來支援,我的她終會重回這世間,但業務不會中斷。
你問我倒下怎么辦,這個也請你心安,我輕盈而功能簡單,很少無故遇難。真有不測出現,我也有自己的羈絆,守護進程在耳畔呼喚,久久不會消散,這也是他的諾言。我看你壞笑斜眼,相信我這不是三角戀。
三、使用與運維管理
開源MySQL是她的名片,相應的協議統統能夠實現。你說影響我怎么辦,你可以當我看不見。無論是VIP還是ZDNS的手鏈,就當是單機MySQL節點,切換同步我們來管。Control平臺好伙伴,集群狀態全可見,監控告警和巡檢,一應俱全沒短板。備份恢復也不難,災備平臺握起小拳拳。
四、使用建議
你問我使用有沒有局限,那我來給你說說看。我們的主場在全棧,其余場景還沒出現。我的她是MySQL節點,請遵守相應標準規范。中小規模聯機交易是主線,太大并發請找我大哥分布式方案。服務器規格有套餐,評估好規模仔細選,數據量好好算一算,2T容量是上限。如果以上要求你都說不難,請相信我們的表現,會讓你露出笑顏。