UMP認識 (一)系統架構

2021-07-23 14:06:59 字數 1913 閱讀 8194

ump

(unified mysql platform)是由阿里集團核心系統資料庫團隊設計與實現的,提供低成本和高效能的mysql雲資料服務。

ump系統架構

先不用著急看圖,後面介紹各個元件後再來看就比較清楚了。

(1)mnesia:分布式資料庫管理系統

mnesia支援事務、提供透明的資料分片、利用兩階段鎖來實現分布式事務、具有線性擴充套件性(可擴充套件到至少50個節點)。

mnesia的資料庫模式可在執行時動態重配置,錶可被遷移或複製至多節點來實現高容錯性。

(2)rabbitmq:工業級的訊息佇列產品

rabbitmq作為訊息傳輸中介軟體來使用,能實現可靠的訊息傳送。

ump集群中各節點的通訊不需要建立專門的連線,而是通過讀寫訊息佇列來實現的。

(3)zookeeper:協同工作系統

zookeeper提供如統一命名、狀態同步、集群管理和分布式應用配置項的管理等服務,用於構建分布式應用或減輕分布式應用程式所承擔的協調任務。

在ump系統中,zookeeper主要用來:

全域性配置伺服器;

選出集群總管(提供分布式鎖);

監控所有mysql例項。

(4)lvs:linux虛擬伺服器

它主要用於實現ump系統中集群內部的負載均衡,主要採用兩種技術:ip負載均衡技術和基於內容請求分發技術,這裡暫時不對這兩種技術作深入。

(5)controller伺服器:為ump集群提供各種管理服務(成員管理、元資料儲存、mysql例項管理、故障恢復、備份、遷移、擴容等)

cotroller伺服器上執行了一組mnesia分布式資料庫服務,其中儲存了各種系統元資料(集群成員、使用者的配置資訊與狀態資訊、使用者名稱到mysql例項位址的對映關係【路由表】等)。

其他伺服器元件需要獲取使用者資料時,可向controller伺服器傳送請求。

ump系統中部署了多台controller伺服器來避免單點故障、保證系統的高可用性。這時,zookeeper將出馬幫忙選出乙個「總管」。

(6)web控制器:向使用者提供系統管理介面

(7)proxy伺服器:完全實現了mysql服務,向使用者提供訪問mysql資料庫的服務

(8)agent伺服器:它部署在執行mysql程序的機器上,用來管理每台物理機上的mysql例項

(9)日誌分析伺服器:儲存和分析proxy伺服器傳入的使用者訪問日誌,支援實時查詢一段時間內的慢日誌和統計報表

(10)資訊統計伺服器:定期將採集到的使用者連線數、qps(每秒查詢次數)數值及mysql例項的程序狀態等資訊進行統計展示在web介面上,或將結果作為以後資源分配等的依據。

(11)愚公系統:用於做資料遷移,可在不停機的情況下動態擴容、縮容和遷移。

下面再來看這張圖:

右上角的mysql集群,負責具體的資料儲存。

controller伺服器用來管理各個集群,並且為了避免單點故障,往往有多個。

但一般情況下,只會讓乙個生效、其他備用,這就是由zookeeper伺服器來幫忙實現的。同時zookeeper伺服器還會進行整個集群配置檔案的管理和監控mysql集群的總體執行狀態,一旦探測到故障,馬上向controller匯報。

proxy伺服器可以看到是用來連線使用者和整個雲資料庫的,使用者通過它來進行資料的查詢訪問。

整個集群通過lvs來實現負載均衡。使用者能通過web控制台查詢各個元件執行的狀態資訊。各個元件之間傳遞訊息是通過rabbitmq來實現的。

有的部分在介紹元件時已經闡述,以上是對ump系統架構乙個全域性的認識,可以幫助了解乙個具體的雲資料庫是如何架構的。

Angular 2 之一 系統架構

angular 2系統架構中元件是最核心的概念,元件由元資料 metadata 元件類 component 和模板 template 組成,其中 元件類和模板通過資料繫結關聯 通過屬性繫結 perperty binding 在模板檢視中顯示屬性值,使用者操作模板檢視觸發事件通過事件繫結 event ...

一 系統設定

開啟輕點來點按和應用expose兩選項,其餘預設即可 把dock放在左邊,使其自動隱藏,取消為開啟的應用開啟指示燈並且移除所有應用程式。這一點是因為我們後面要做鍵盤流的配置,dock並沒有什麼用處。左上角留空,左下角啟動臺,右上角通知中心,右下角桌面 開啟訪達的偏好設定,設定只勾選 顯示所有副檔名 ...

C 打造乙個開源webgis(一)系統架構

想不到當初起了個前言,時隔一年半之後才開始寫,因為已經轉行不做gis了 決定把它寫完,只是不想留下個爛尾樓 如果文章內容有所錯漏,望建議補充 搭建乙個gis系統,為了能同時適應c s和b s架構,建議是做成自己的地圖服務api方式,這樣,乙個或多個系統,就能通過統一的地圖服務介面提供,而通訊可以採用...