1、什麼是MySQL叢集
MySQL叢集是一個無共享的(shared-nothing)、分布式節點架構的存儲方案,其目的是提供容錯性和高性能。
資料更新使用讀已送出隔離級别(read-committedisolation)來保證所有節點資料的一緻性,使用兩階段送出機制(two-phasedcommit)保證所有節點都有相同的資料(如果任何一個寫操作失敗,則更新失敗)。
無共享的對等節點使得某台伺服器上的更新操作在其他伺服器上立即可見。傳播更新使用一種複雜的通信機制,這一機制專用來提供跨網絡的高吞吐量。
通過多個MySQL伺服器配置設定負載,進而最大程式地達到高性能,通過在不同位置存儲資料保證高可用性和備援。
需要更多MySQL叢集知識的可以訂閱我哦
2、名稱概念
MySQL叢集有如下三層:
應用程式層:負責與mysql伺服器通信的各種應用程式。
Mysql伺服器層:處理SQL指令,并與NDB存儲引擎通信和Mysql伺服器。
NDB叢集元件層:NDB叢集元件有時也稱資料節點,負責處理查詢,然後将結果傳回給mysql伺服器。
其中MySQL資料庫叢集主要包括如下三部分:
1) SQL節點(SQL node - 下圖對應為 mysqld):分布式資料庫。包括自身資料和查詢中心結點資料
2) 資料節點(Data node - ndbd):叢集共享資料(記憶體中)
3) 管理伺服器(Management Server - ndb_mgmd):管理叢集 SQL node,Data node
拓撲結構圖如下所示:
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:468947140
點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=5zMN6JB
本群提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導