如何實現MySQL運維體系建設

IT大咖說發表於2018-11-19

內容來源:2018 年 10 月 20 日,源資料庫論壇(ODF)發起人周彥偉在“ODF走進名企之貝殼技術沙龍-資料庫儲存技術的多元應用”進行《使用ArkControl實現MySQL運維體系建設》的演講分享。IT 大咖說作為獨家視訊合作方,經主辦方和講者審閱授權釋出。

閱讀字數:2384 | 6分鐘閱讀

獲取嘉賓演講視訊及PPT,請點選:t.cn/E2a1mwQ

如何實現MySQL運維體系建設摘要

本次分享的是如何使用ARkcontrol來搭建mysql的運維體系,從功能、架構以及安裝內容上來詳細介紹ARkcontrol。

初識MySQL

資料庫特別是mySQL這樣不是很成熟化的商業資料庫,使用起來其實並不方便,這也是為什麼很多網際網路公司,像騰訊或者美團都有專門的團隊DBA去支援最後的運維工作。

MySQL運維首先要搞定的是安裝部署這塊,對於一般開發者來說如果不專門抽時間學幾個小時或者學幾天的話一般很難完善的部署mysql的相關服務。接著在例項或者叢集增多之後,需要對它進行管理,包括整個的叢集拓撲關係,切換關係。剩下的是所有的做資料庫都很關注的高頻切換,能夠在資料庫出問題的時候及時切走這點也很重要。最後是一些輔助的東西,包括監控告警,備份恢復,資料遷移,效能優化,稽核和審計,常規的系統巡檢。對於涉及到金融或者對資料比較敏感的公司,稽核和審計是重中之重。

ArkControl

我在創業的時候就在想我們要做些什麼樣的東西才能滿足大多數人的需求,給大家帶來一些實惠。讓資料庫在更廣的範圍推廣開來,能夠被很輕鬆的去使用。最終我們做了一款叫ArkControl的產品,他是一個雲管平臺,社群版可以免費下載使用,可以一鍵實現一個比較全面的mysql運維體系,不用花費太多成本就能實現一些資料庫運維的基本功能,至少不用再通過命令發去安裝mysql或者mysql叢集。

這個產品的目標使用者不是像美團這樣的大企業,而是那些用到了mysql,但是沒有DBA或者DBA資源不是很豐富的公司。

根據後續的發展,我們還會支援更多的NewSQL、NoSQL以及大資料體系,比方馬上要支援的Redis,在資料層面,Redis和mysql是使用者和需求最多的,一個是快取,一個是資料庫。

另外在管理資料庫的過程中,又出現了2個需求,一個是資料的異構同步,一般的企業都會同時使用多種資料庫,比如用Redis做快取,用大資料系統存資料分析,正常情況下會以OLTP的mysql資料庫作為資料的基準,以供快取使用或者大資料分析。類似這種異構實時同步,目前實際上沒有特別好的工具或者是產品來支援這樣的功能。第二個需求是混合雲資料庫的管理,這塊我們也已經支援。

AkeControl架構體系

如何實現MySQL運維體系建設

上圖是整個AkeControl在管理資料庫層面需要了解和支援的功能,以及要處理的處理的需求點。可能看起來比較複雜,但是解析出來其實還蠻簡單,核心在於資料庫叢集。

要想用好一個mysql叢集,首先要有一個mysql的中介軟體作為接入層訪問到不同的叢集,以業務訪問和系統的架構分離,這樣的話就可以在底層更輕鬆的管理資料庫。線上資料庫的監控方面,我們做了一個分散式的類似於Redis的哨兵,然後用投票的機制來解決資料庫判斷是否存活的問題,更準確更高效。

最左側從主機管理到下面的稽核審計這部分展示的是AkrContro能提供的功能,這些都是為了滿主開發者對資料庫運維的需求。

其中就又剛才提到的資料異構傳輸,我們有一個專門的資料傳輸服務用來做mysql到其他資料庫的異構操作,由此實現底層資料的全線打通,輕鬆將熱點或者是熱資料傳輸到不同的系統中,做實時的分析。

還有很重要的一塊,也是今後我們發展的重點——智慧運維,包括資料庫的智慧優化,智慧的診斷和巡檢。實現逐步的從人工的運維轉化為智慧運維,類似最優化介面或最優化配置等功能。

AkrControl安裝了什麼

接下來簡單介紹一些AkrControl都安裝了些什麼,這裡麵包含了幾個部分,首先是一個基本的web頁面,用來做前端展示以及一些操作的輸入輸出。還有一個用GO寫的Akr-service,用於資料的排程,相當於web的control層。然後是Akr-agent,它被裝所有需要管理的伺服器上,負責去收集資料庫的資訊,主機的資訊,包括接受中控傳輸過來的安裝命令解除安裝命令等,相當於一個遠端的操作的代理。

再接下來是儲存,一個mysql,另外兩個是ElasticSearch和Grafana,它們是為了儲存監控資料的,我們會用ES收集監控的資訊,然後用Grafana展示,目前是這麼計劃的,後續可能會將Grafana替換成我們自己的web層。

最後還裝了Arkit-Service和Arkgate-Service,Arkit-Service用來做稽核的,Arkgate-Service做資料傳輸。

上圖展示的是部署AkrControl所需的配置,最小配置只用兩臺機器,一個配置庫和一個備份資料存放。下方是推薦配置,更安全一些。

過一段時間,最小配置可能只需一臺就夠了,實現最小安裝,在筆記本上也能體驗到。現在還在優化中,不過應該是很快就會發布。

(後續為相關部署介面介紹,請觀看是視訊最後5分鐘)視訊地址:t.cn/EAZ6zVc

以上為今天的分享內容,謝謝大家!

編者:IT大咖說,轉載請標明版權和出處


相關文章