劉 波 胡景光 黃天天
(1.湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院 長沙 410128)(2.邵陽學(xué)院湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室 邵陽 422000)(3.湖南省農(nóng)村農(nóng)業(yè)信息化工程技術(shù)研究中心 長沙 410128)
?
云環(huán)境MMM數(shù)據(jù)庫集群雙主多從架構(gòu)模型構(gòu)建*
劉波1,2,3胡景光1黃天天1
(1.湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院長沙410128)(2.邵陽學(xué)院湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室邵陽422000)(3.湖南省農(nóng)村農(nóng)業(yè)信息化工程技術(shù)研究中心長沙410128)
摘要隨著湖南國家農(nóng)村農(nóng)業(yè)信息化示范省綜合服務(wù)平臺(tái)與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)的運(yùn)行,對(duì)農(nóng)業(yè)大數(shù)據(jù)的操作與安全提出了新的要求。為了適應(yīng)這一要求,針對(duì)RedHat與MySQL系統(tǒng),提出一個(gè)基于Linux系統(tǒng)可擴(kuò)展的MySQL數(shù)據(jù)庫集群雙主多從架構(gòu)優(yōu)化模型。該模型主要由三個(gè)設(shè)計(jì)模塊組成,即前端代理層實(shí)現(xiàn)主備熱切換與讀寫分離;數(shù)據(jù)服務(wù)層對(duì)服務(wù)節(jié)點(diǎn)進(jìn)行整合、監(jiān)控與單一鏡像;數(shù)據(jù)共享層實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)同步備份容災(zāi)。測(cè)試證明在不提高服務(wù)器硬件性能的條件下,僅通過增加服務(wù)器數(shù)量就能解決整個(gè)數(shù)據(jù)庫集群的性能瓶頸問題,而且能夠在大批量讀寫數(shù)據(jù)的環(huán)境下進(jìn)行有效的服務(wù),加強(qiáng)云平臺(tái)下農(nóng)業(yè)數(shù)據(jù)的安全性、健壯性及可靠性。
關(guān)鍵詞雙主多從架構(gòu); 數(shù)據(jù)庫集群; 讀寫分離; 負(fù)載均衡; 地址漂移
Class NumberTP392
為了農(nóng)業(yè)科技創(chuàng)新適應(yīng)市場(chǎng)發(fā)展規(guī)律,滿足湖南省農(nóng)村地區(qū)對(duì)農(nóng)業(yè)信息化的渴求,2011年~2014年國家科技部開展了農(nóng)村農(nóng)業(yè)信息化關(guān)鍵技術(shù)集成與示范(2011BAD21B00)與農(nóng)村物聯(lián)網(wǎng)綜合信息服務(wù)科技工程(2012BAD35B00)課題研究,湖南省科技廳聯(lián)合湖南農(nóng)業(yè)大學(xué)等單位進(jìn)行了湖南國家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)[1]與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)[2]的應(yīng)用研究,并成功搭建了湖南農(nóng)業(yè)信息化云平臺(tái),每天不停收集農(nóng)業(yè)知識(shí)條目、呼叫中心信息與物聯(lián)網(wǎng)終端數(shù)據(jù),面對(duì)如此龐大的數(shù)據(jù)信息,如何保護(hù)這些數(shù)據(jù)安全,對(duì)農(nóng)業(yè)云平臺(tái)提出了新的要求。
當(dāng)前為了適應(yīng)云計(jì)算與大數(shù)據(jù)時(shí)代越來越嚴(yán)苛的數(shù)據(jù)存取要求,主要采取了如下措施:
1) 架構(gòu)一種能夠承受高并發(fā)、高負(fù)載和高可用的數(shù)據(jù)庫應(yīng)對(duì)客戶端數(shù)以千萬級(jí)的訪問請(qǐng)求[3],而數(shù)據(jù)庫集群在硬件性能無法再顯著提升情況下,可以通過增加服務(wù)器數(shù)量獲得通信性能的倍數(shù)級(jí)增加,同時(shí)具有可擴(kuò)展性及可容災(zāi)性[4~5]。
2) 針對(duì)數(shù)據(jù)庫集群訪問頻繁、并發(fā)訪問等問題,服務(wù)器大多使用了負(fù)載均衡與復(fù)制技術(shù)[6~7],但訪問量隨著時(shí)間成幾何倍數(shù)的增長,響應(yīng)單個(gè)請(qǐng)求的速度越來越慢,若數(shù)據(jù)文件較大,寫操作還會(huì)出現(xiàn)鎖表時(shí)間過長等影響訪問效率的問題。
3) 在硬件設(shè)備不變情況下,通過優(yōu)化SQL語句和索引等方式[8~9],仍然不能滿足數(shù)據(jù)存取要求,則建立數(shù)據(jù)庫集群[10]。既然瓶頸是由于單臺(tái)服務(wù)器的訪問負(fù)載過重引起的,就通過增加數(shù)據(jù)庫服務(wù)器的數(shù)量,將前端大量的數(shù)據(jù)連接進(jìn)行負(fù)載均衡,分發(fā)到數(shù)據(jù)庫集群的各個(gè)節(jié)點(diǎn)上面,讓單臺(tái)的服務(wù)器負(fù)載降低,從而初步解決數(shù)據(jù)瓶頸問題。
2012年,湖南農(nóng)業(yè)大學(xué)根據(jù)湖南國家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)的建設(shè)進(jìn)展,實(shí)施了湖南農(nóng)大服務(wù)器虛擬化一期系統(tǒng)實(shí)施方案,一次性投入600多萬元購買了9臺(tái)華為服務(wù)器,3臺(tái)S5600T與2臺(tái)S2600T數(shù)據(jù)存儲(chǔ),劃分了50臺(tái)虛擬服務(wù)器,并初步搭建了2臺(tái)數(shù)據(jù)庫集群,同時(shí)將整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)構(gòu)成一個(gè)邏輯上統(tǒng)一的整體,實(shí)現(xiàn)用戶可以對(duì)數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行透明存取。然而隨著訪問量的增大與數(shù)據(jù)流量的增多,相應(yīng)的數(shù)據(jù)瓶頸也逐步顯現(xiàn),主要表現(xiàn)如下:
1) 節(jié)點(diǎn)間通信成為制約集群系統(tǒng)性能的嚴(yán)重瓶頸[11].雖然當(dāng)前以太網(wǎng)技術(shù)已比較成熟,實(shí)現(xiàn)起來難度不大,而且網(wǎng)線接插方便,便于擴(kuò)展和更換設(shè)備,然而集群系統(tǒng)中的一些先天弱點(diǎn),導(dǎo)致了集群系統(tǒng)中節(jié)點(diǎn)間的數(shù)據(jù)傳輸效率不高。
2) 數(shù)據(jù)集群實(shí)現(xiàn)并行處理技術(shù)所需層次較多,配置復(fù)雜,影響正常性能。對(duì)于數(shù)據(jù)庫軟件,數(shù)據(jù)還要再經(jīng)過一層應(yīng)用的解析才能被數(shù)據(jù)庫管理軟件使用,每經(jīng)過一層,數(shù)據(jù)處理都要消耗CPU資源,極大地影響了系統(tǒng)的性能。
為了克服平臺(tái)數(shù)據(jù)交互瓶頸問題,嘗試建立更多數(shù)據(jù)庫集群,根據(jù)MySQL數(shù)據(jù)庫的特點(diǎn),選擇搭建MySQL數(shù)據(jù)庫集群,雖然MySQL數(shù)據(jù)庫構(gòu)建集群的方式有多種,如簇集群模型、主從復(fù)制集群模型等,然而MMM數(shù)據(jù)庫集群優(yōu)化模型提供了MySQL主主復(fù)制配置的監(jiān)控、故障轉(zhuǎn)移和管理的一套可伸縮的腳本套件。在MMM集群模型中,典型的應(yīng)用就是雙主多從架構(gòu),通過MySQL復(fù)制技術(shù)可以實(shí)現(xiàn)兩臺(tái)服務(wù)器互為主從,且在存儲(chǔ)時(shí)只有一個(gè)節(jié)點(diǎn)可以寫入,避免多點(diǎn)寫入的數(shù)據(jù)沖突。同時(shí)當(dāng)可寫的主節(jié)點(diǎn)故障時(shí),MMM套件立刻監(jiān)控到,然后將服務(wù)自動(dòng)切換到另一個(gè)主節(jié)點(diǎn),繼續(xù)提供服務(wù),從而實(shí)現(xiàn)MySQL的高可用。該模型的架構(gòu)圖如圖1所示。

圖1 MMM架構(gòu)模型
針對(duì)湖南信息化綜合服務(wù)平臺(tái)的特點(diǎn),結(jié)合MySQL的MMM數(shù)據(jù)庫集群配置進(jìn)行優(yōu)化,以MMM集群為模型,配合使用Amoeba數(shù)據(jù)庫代理服務(wù)以及高可用軟件(Keepalived)和分布式塊設(shè)備(Distributed Replication Block Device,DRBD)復(fù)制技術(shù)完成MySQL高可用和高可擴(kuò)展的集群。
· 高可用集群組件Keepalived
Keepalived是Linux下一個(gè)輕量級(jí)的高可用解決方案,可以實(shí)現(xiàn)服務(wù)或者網(wǎng)絡(luò)的高可用。Keepalived的部署簡單快捷,所有配置只需一個(gè)配置文件即可完成。Keepalived專門用來監(jiān)控集群系統(tǒng)中各個(gè)服務(wù)器節(jié)點(diǎn)的狀態(tài),它根據(jù)TCP/IP參考模型的第三、第四和第五層交換機(jī)檢測(cè)每個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),若某個(gè)服務(wù)器節(jié)點(diǎn)出現(xiàn)異常,或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將出現(xiàn)故障的服務(wù)點(diǎn)從集群中剔除,而在故障點(diǎn)恢復(fù)正常后,Keepalived又自動(dòng)將此服務(wù)節(jié)點(diǎn)重新加入服務(wù)器集群中,況且這些工作全部自動(dòng)完成,無需人工干預(yù),需要人工完成的只是修復(fù)出現(xiàn)故障的服務(wù)節(jié)點(diǎn)。Keepalived后來又加入了虛擬路由冗余協(xié)議(Virtual Router Redundancy Protocol,VRRP)的功能,通過VRRP可以不間斷穩(wěn)定的運(yùn)行,因此Keepalived一方面具有服務(wù)狀態(tài)檢測(cè)和故障隔離功能,另一方面具有HA Cluster功能。
· 數(shù)據(jù)同步組件DRBD
分布式塊設(shè)備復(fù)制(Distributed Replication Block Device,DRBD)是一種基于網(wǎng)絡(luò)的塊復(fù)制存儲(chǔ)解決方案,主要用于對(duì)服務(wù)器之間的磁盤、分區(qū)、邏輯卷進(jìn)行數(shù)據(jù)鏡像。當(dāng)用戶將數(shù)據(jù)寫入本地磁盤時(shí),同時(shí)將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中另一臺(tái)主機(jī)的磁盤上,這樣本地主機(jī)(主節(jié)點(diǎn))與遠(yuǎn)程主機(jī)(備節(jié)點(diǎn))的數(shù)據(jù)就可以保證實(shí)時(shí)同步,當(dāng)本地主機(jī)出現(xiàn)問題,遠(yuǎn)程主機(jī)還保留著一份相同的數(shù)據(jù),可以繼續(xù)使用,保證了數(shù)據(jù)的安全。
DRBD是Linux內(nèi)核存儲(chǔ)層中的一個(gè)分布式存儲(chǔ)系統(tǒng),具體來說由兩部分構(gòu)成,一部分是內(nèi)核模塊,主要用于虛擬一個(gè)塊設(shè)備;一部分是用戶空間管理程序,主要用于和DRBD內(nèi)核模塊通信,以管理DRBD資源。在DRBD中,資源主要包含DRBD設(shè)備、磁盤配置、網(wǎng)絡(luò)配置等。DRBD的結(jié)構(gòu)圖如圖2所示。

圖2 DRBD結(jié)構(gòu)圖
DRBD設(shè)備在整個(gè)DRBD系統(tǒng)中位于物理塊設(shè)備之上,文件系統(tǒng)之下,在文件系統(tǒng)和物理磁盤之間形成了一個(gè)中間層,當(dāng)用戶在主用節(jié)點(diǎn)的文件系統(tǒng)中寫入數(shù)據(jù)時(shí),數(shù)據(jù)被正式寫入磁盤前或被DRBD系統(tǒng)截獲,同時(shí),DRBD在捕捉到有磁盤寫入的操作時(shí),就會(huì)通知用戶空間管理程序把這些數(shù)據(jù)復(fù)制一份,寫入遠(yuǎn)程主機(jī)的DRBD鏡像,然后存入DRBD鏡像所映射的遠(yuǎn)程主機(jī)磁盤。
· 數(shù)據(jù)庫連接代理組件Amoeba
Amoeba是一個(gè)MySQL協(xié)議接口的連接代理軟件,根據(jù)用戶事先設(shè)置的規(guī)則,將SQL請(qǐng)求發(fā)送到特定的數(shù)據(jù)庫上執(zhí)行,基于此可以實(shí)現(xiàn)負(fù)載均衡、讀寫分離、高可用性等需求。
同時(shí)Amoeba具有承擔(dān)SQL請(qǐng)求的路由器功能,實(shí)現(xiàn)負(fù)載均衡、讀寫分離、高可用提供機(jī)制,用戶只需結(jié)合使用MySQL的Replication等機(jī)制即可實(shí)現(xiàn)主從同步等功能。
· MMM數(shù)據(jù)庫集群管理套件
MMM管理套件是MySQL主主復(fù)制管理器,提供了MySQL主主復(fù)制配置的監(jiān)控,故障轉(zhuǎn)移和管理的一套可伸縮的腳本套件。附帶的工具套件可以實(shí)現(xiàn)多個(gè)Slaves的read負(fù)載均衡,因此使用這個(gè)套件不僅可以移除一組服務(wù)器中復(fù)制延遲較高的服務(wù)器的虛擬IP,還可以備份數(shù)據(jù)、調(diào)整兩節(jié)點(diǎn)之間再同步等。
MMM管理套件功能主要通過mmm_mond、mmm_agentd、mmm_control三個(gè)腳本完成。
因此由上述軟件一起組成了MMM數(shù)據(jù)庫集群優(yōu)化模型,如圖3所示。

圖3 MMM集群優(yōu)化架構(gòu)
本次數(shù)據(jù)庫集群的搭建使用六臺(tái)服務(wù)器,服務(wù)器的系統(tǒng)環(huán)境為RedHat6.4企業(yè)版本和64位處理器架構(gòu),IP地址的分配網(wǎng)段為10.9.9.0/24,MySQL數(shù)據(jù)庫為mysql-5.5.22.tar.gz和mysql-cluster-gpl-7.2.8.tar.gz。
· Amoeba與Keepalived配置
使用Amoeba作為客戶端數(shù)據(jù)庫查詢的代理服務(wù),然后配合使用Keepalived實(shí)現(xiàn)Amoeba主備服務(wù)器之間的高可用,提高系統(tǒng)的穩(wěn)定性和安全性。前端代理集群使用兩臺(tái)服務(wù)器,使用的IP地址為10.9.9.31、10.9.9.32,VIP(虛擬IP地址)為10.9.9.33。具體的IP分配如表1所示。

表1 IP地址分配表
然后在主從兩臺(tái)服務(wù)器上分別安裝JDK環(huán)境和Amoeba、Keepalived軟件,其中Amoeba的配置文件主要分為dbServer.xml、amoeba.xml兩個(gè)文件,dbServer.xml主要完成后端服務(wù)器集群的配置,amoeba.xml主要完成對(duì)前端代理和用戶訪問控制的配置;Keepalived通過配置軟件安裝的依賴包及配置編譯參數(shù),實(shí)現(xiàn)對(duì)Amoeba服務(wù)的健康檢查和監(jiān)控,如果Amoeba停止服務(wù),Keepalived會(huì)將出故障的主機(jī)剔除,并進(jìn)行主從切換以解決單點(diǎn)故障問題。
啟動(dòng)Amoeba和Keepalived進(jìn)行測(cè)試,在Amoeba出現(xiàn)故障時(shí),VIP自動(dòng)切換到備份主機(jī),符合預(yù)期目標(biāo)。如圖4所示為通過客戶端使用VIP訪問測(cè)試數(shù)據(jù)庫,并停止Amoeba主服務(wù)器,系統(tǒng)自動(dòng)切換到從服務(wù)器,并繼續(xù)連接數(shù)據(jù)庫的情形。

圖4 測(cè)試數(shù)據(jù)庫并停止Amoeba主服務(wù)器
· 構(gòu)建MMM集群管理系統(tǒng)
數(shù)據(jù)庫集群節(jié)點(diǎn)和管理節(jié)點(diǎn)的服務(wù)器臺(tái)數(shù)為四臺(tái),分別安裝5.5版本的MySQL數(shù)據(jù)庫和MMM管理套件。具體的節(jié)點(diǎn)IP分配如表2所示。

表2 集群節(jié)點(diǎn)IP地址分配
由于有三臺(tái)數(shù)據(jù)庫節(jié)點(diǎn)服務(wù)器,所有要分配四個(gè)讀寫漂浮IP地址,表3是漂浮IP對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn)的映射表。

表3 讀寫IP主機(jī)映射
在Master1、Master2、Slave主機(jī)上完成MySQL的安裝后,需要建立如表4所示的數(shù)據(jù)庫賬號(hào),這些賬號(hào)分別為主從復(fù)制賬號(hào)、MMM代理程序agentd登陸賬號(hào)、MMM管理服務(wù)mond登錄賬號(hào)。

表4 MySQL數(shù)據(jù)庫賬號(hào)分配
然后登錄Master1、Master2、Slave上的MySQL數(shù)據(jù)庫,配置MySQL Replication主從復(fù)制,然后啟動(dòng)MySQL-mmm和MySQL數(shù)據(jù)庫,再登陸集群的每個(gè)數(shù)據(jù)庫節(jié)點(diǎn)執(zhí)行命令。
至此數(shù)據(jù)庫集群與前端Amoeba的整合完畢,整個(gè)集群模型基本實(shí)現(xiàn),再進(jìn)行數(shù)據(jù)測(cè)試,依次測(cè)試應(yīng)用程序?qū)?shù)據(jù)庫集群的訪問、Amoeba實(shí)現(xiàn)的讀寫分離,實(shí)現(xiàn)讀操作均衡分布于集群的各個(gè)讀服務(wù)器節(jié)點(diǎn),最后配置DRBD數(shù)據(jù)同步,實(shí)現(xiàn)數(shù)據(jù)的安全性。
· DRBD數(shù)據(jù)同步
當(dāng)整個(gè)集群初步搭建完成后,使用集群中的Slave主機(jī)作為DRBD數(shù)據(jù)同步的Master主機(jī),然后加入一臺(tái)遠(yuǎn)程備份主機(jī)Backup1作為DRBD的Slave,Backup1的IP地址配置為10.9.9.42,在兩臺(tái)主機(jī)上分別配置一個(gè)100G的磁盤sdb1,作為數(shù)據(jù)同步的物理設(shè)備。在Slave主機(jī)上和Backup1上分別源碼編譯安裝DRBD軟件,再重新啟動(dòng)MySQL數(shù)據(jù)庫服務(wù),至此,數(shù)據(jù)庫文件遷移完成,整個(gè)集群架構(gòu)搭建完成。其測(cè)試效果如圖5所示。

圖5 DRBD主服務(wù)器測(cè)試圖
本文根據(jù)湖南國家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)的運(yùn)行情況,提出一個(gè)基于Linux系統(tǒng)可擴(kuò)展的MySQL數(shù)據(jù)庫集群雙主多從架構(gòu)MMM優(yōu)化模型,主要利用Amoeba實(shí)現(xiàn)數(shù)據(jù)庫查詢的讀寫分離和負(fù)載均衡,通過Keepalived實(shí)現(xiàn)Amoeba主從之間單點(diǎn)故障轉(zhuǎn)移,通過MMM數(shù)據(jù)庫集群套件將數(shù)據(jù)庫集群整合,實(shí)現(xiàn)對(duì)外單一映像的關(guān)鍵問題,使用漂浮IP的方法,將讀寫IP均分給集群中的各個(gè)節(jié)點(diǎn),在集群節(jié)點(diǎn)出現(xiàn)故障時(shí),對(duì)IP地址進(jìn)行轉(zhuǎn)移實(shí)現(xiàn)集群的高可用,最后通過整合DRBD對(duì)數(shù)據(jù)庫文件進(jìn)行遠(yuǎn)程同步,有效地提高了整個(gè)數(shù)據(jù)庫集群的安全性和穩(wěn)定性。
參 考 文 獻(xiàn)
[1] 黃天天,劉波.湖南農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)測(cè)試方法分析[J].軟件.2013,34(12):172-177.
HUANG Tiantian, LIU Bo. The Testing Methods Based on Hunan Agricultural Information Service Platform[J]. Information Science and Technology,2013,34(12):172-177.
[2] 劉波,沈岳,郭平,等.湖南農(nóng)業(yè)云物聯(lián)網(wǎng)建設(shè)對(duì)策分析[J].物聯(lián)網(wǎng)技術(shù),2013,3(6):76-79.
LIU Bo, GUO Ping, SHEN Yue, et al. The countermeasure analysis of Hunan cloud agriculture IOT construction[J]. Internet of Things Technologies,2013,3(6):76-79.
[3] 劉健,張軍偉,邵冰清,等.支持EB級(jí)存儲(chǔ)的元數(shù)據(jù)服務(wù)器集群系統(tǒng)[J].中國科學(xué):信息科學(xué),2015,45(6):721-738.
LIU Jian, ZHANG Junwei, SHAO Bingqing, et al. Metadata server clustering system for EB-scale storage[J]. Science China Press: Information Science,2015,45(6):721-738.
[4] Ramesh Dharavath, Author Vitae, Chiranjeev Kumar. A scalable generic transaction model scenario for distributed NoSQL databases[J]. Journal of Systems and Software,2015,101(3):43-58

[6] 王學(xué)瑞.mysql集群及負(fù)載均衡技術(shù)及應(yīng)用[J].信息與電腦,2013,(2):131-132.
WANG Xuerui. The Application and Load Balancing Technologu of MySql Cluster[J]. China Computer & Communication,2013,(2):131-132.
[7] 韋一鳴.基于MySQL復(fù)制技術(shù)的數(shù)據(jù)庫集群研究[D].杭州:杭州電子科技大學(xué),2014:1-46.
WEI Yiming. Study on Database Cluster Based on MySQL Replication[D]. Hangzhou: Hangzhou Dianzi University,2014:1-46.
[8] 周玉科,馬廷,周成虎,等.MySQL集群與MPI的并行空間分析系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)[J].地球信息科學(xué)學(xué)報(bào),2012,14(4):448-493.
ZHOU Yuke, MA Ting, ZHOU Chenghu, et al. Design and Implement of Parallel Spatial Analysis System Based on MySql & MPI[J]. Journal of Geo-information Science,2012,14(4):448-493.
[9] M. Smit, B. Simmons, M. Litoiu. Distributed, application-level monitoring for heterogeneous clouds using stream processing[J]. Future Generation Computer Systems,2013,29(8):2103-2114.
[10] 魏斌.高性能MySQL集群部署[J].河南科技,2014(7):6-9.
WEI Bing. The Cluster Deployment of High Performance Based on MySQL[J]. Journal of Henan Science and Technology,2014(7):6-9.
[11] 馮弢.基于云計(jì)算下的通信架構(gòu)模型建立與實(shí)現(xiàn)[J].信息通信,2015(5):210-212.
FENG Tao. The Establishment and Implement of a Communication Architecture Model Based on Cloud Computing[J]. Information & Communications,2015(5):210-212.
[12] 金瑛浩.基于MySQ L集群的矢量路徑數(shù)據(jù)庫設(shè)計(jì)研究[J].黑龍江科技信息,2014(8):166-166.
JIN Yinghao. The Design Research of Vector Path Database Based on MySQ L clusters[J]. Heilongjiang Science and Technology Information,2014(8):166-166.
收稿日期:2015年10月9日,修回日期:2015年11月25日
基金項(xiàng)目:國家科技部科技支撐計(jì)劃課題(編號(hào):2012BAD35B05,2012BAD35B07);湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室開放基金課題(編號(hào):XAI20150326);2014湖南省教育廳科研一般項(xiàng)目(編號(hào):14C0542);2015年度湖南農(nóng)業(yè)大學(xué)“大學(xué)生創(chuàng)新性實(shí)驗(yàn)計(jì)劃項(xiàng)目(編號(hào):XCX14063);2015年湖南農(nóng)業(yè)大學(xué)團(tuán)委科技創(chuàng)新立項(xiàng)項(xiàng)目(編號(hào):制作發(fā)明類201502)資助。
作者簡介:劉波,男,博士,副教授,碩士生導(dǎo)師,研究方向:軟件工程、數(shù)據(jù)庫技術(shù)、物聯(lián)網(wǎng)技術(shù)、農(nóng)業(yè)信息化。胡景光,男,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)。黃天天,女,碩士研究生,研究方向:計(jì)算機(jī)應(yīng)用、農(nóng)業(yè)物聯(lián)網(wǎng)。
中圖分類號(hào)TP392
DOI:10.3969/j.issn.1672-9722.2016.04.028
Model Design of Double-Master and Multi-slave Architecture for Database Cluster of Master-Master Replication Manager for MySQL Based on Clouds
LIU Bo1,2,3HU Jingguang1HUANG Tiantian1
(1. Information Science and Technology College of Hunan Agricultural University, Changsha410128)(2. Hunan Provincial Key Laboratory of Information Service in Rural of Southwestern Hunan, Shaoyang422000)(3. Hunan Engineering Technology Research Center of Agricultural & Rural Information, Changsha410128)
AbstractAs the running of Hunan rural integrated services platform of national rural and agricultural information demonstration province and the fundamental platform of the Hunan agriculture IOT, new requirements are proposed by big data operation and safety for agriculture. For the requirement, an optimization model is proposed of master-master replication manager for MySQL on Linux cluster for RedHat and MySQL. Three design models are mainly components of the model, including, the front layer to realize the main switch from MySQL-Proxy, the data service layer to integrate the service node, monitoring and single image, the share data layer to realize remote data synchronization, backup and disaster recovery. The tests have proved that not only the problem of the performance bottleneck of the whole database cluster can be solved by increasing servers by the way, but also the effective service can be achieved through a large of reading and writing under not increasing server hardware performance. The model can enhance the agricultural data security, robustness and reliability under the cloud.
Key Wordsmaster-master replication manager for MySQL, database cluster, MySQL-Proxy, load balance, address drift