心有多大舞臺(tái)便有多大

          Embrace changes, pursue excellence, share niceness.

          mysql cluster構(gòu)架

          今天下了一份mysql cluster architecture overview,大致了解下mysql的cluster功能
          1.mysql cluster現(xiàn)在主要是解決ha(高可用性)的問題,并不是完全的支持ha,load balance的cluster.
          2.mysql cluster構(gòu)架是建立在share nothing的基礎(chǔ)上的,這也應(yīng)該是cluster發(fā)展的趨勢(shì)吧,否則,要使用共享磁盤的話,代價(jià)太昂貴了.
          3.mysql cluster只適用于mysql的ndb storage,mysql的存儲(chǔ)引擎很多,不同的引擎適用于不同的業(yè)務(wù),以后還得花些時(shí)間研究下這些引擎的特征
          4.mysql cluster體系把一組計(jì)算機(jī)節(jié)點(diǎn)分為三大類,分別是sql節(jié)點(diǎn),storage存儲(chǔ)節(jié)點(diǎn),mgmt管理節(jié)點(diǎn).
          5.存儲(chǔ)節(jié)點(diǎn):mysql cluster在各存儲(chǔ)節(jié)點(diǎn)之間復(fù)制數(shù)據(jù),這樣當(dāng)任意一個(gè)存儲(chǔ)節(jié)點(diǎn)發(fā)生意外的時(shí)候,始終有另外的存儲(chǔ)節(jié)點(diǎn)上存儲(chǔ)有相同的數(shù)據(jù).如果節(jié)點(diǎn)多于兩個(gè)的話,這個(gè)復(fù)制的性能不知道是否會(huì)降低?因?yàn)檫€不知道它的復(fù)制原理,也不能妄下結(jié)論.數(shù)據(jù)庫事務(wù)是由存儲(chǔ)節(jié)點(diǎn)來保證的,任一個(gè)事務(wù)產(chǎn)生的數(shù)據(jù)變化會(huì)同時(shí)反映到所有存儲(chǔ)節(jié)點(diǎn)中;當(dāng)在一個(gè)事務(wù)執(zhí)行的時(shí)候,由于其中一個(gè)存儲(chǔ)節(jié)點(diǎn)失敗,那么會(huì)導(dǎo)致整個(gè)事務(wù)的回退.
          6.管理節(jié)點(diǎn):一般在一個(gè)mysql cluster體系中只需要一個(gè)管理節(jié)點(diǎn).它僅用于cluster的啟動(dòng)及cluster的系統(tǒng)參數(shù)配置,因此,存儲(chǔ)節(jié)點(diǎn)是可以在沒有管理節(jié)點(diǎn)的情況下正常運(yùn)行的.(恩,可以節(jié)省一臺(tái)機(jī)器^_^,其實(shí)是不可以的,因?yàn)閟ql節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)在啟動(dòng)的時(shí)候需要連接到管理節(jié)點(diǎn)讀取cluster的配置信息,但是在sql節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)啟動(dòng)完成后,管理節(jié)點(diǎn)是可以停止的)
          7.sql節(jié)點(diǎn):就是mysqld服務(wù)器了.應(yīng)用程序通過sql節(jié)點(diǎn)訪問存儲(chǔ)節(jié)點(diǎn)中的數(shù)據(jù).在mysql cluster體系中,任意一個(gè)sql節(jié)點(diǎn)都是連接到所有的存儲(chǔ)節(jié)點(diǎn)的.所以當(dāng)任意一個(gè)存儲(chǔ)節(jié)點(diǎn)發(fā)生意外的時(shí)候,sql節(jié)點(diǎn)都可以把請(qǐng)求轉(zhuǎn)移到另一個(gè)存儲(chǔ)節(jié)點(diǎn)執(zhí)行
          8.mysql cluster的sql節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)可以動(dòng)態(tài)增加,減少,這可以管理節(jié)點(diǎn)配置
          9.存儲(chǔ)節(jié)點(diǎn)的故障檢測(cè):mysql cluster通過兩種方式來檢測(cè)故障,
          一是通訊丟失,可以通過tcp,共享內(nèi)存等方式在各存儲(chǔ)節(jié)點(diǎn)之間通訊來偵測(cè)節(jié)點(diǎn)是否正常這種方式是最快的故障檢測(cè)方式,
          二是心跳失敗,通訊丟失的檢測(cè)方法在某些特殊情況下無效,例如磁盤故障等問題.所有的存儲(chǔ)節(jié)點(diǎn)通過組成一個(gè)環(huán)路,每個(gè)節(jié)點(diǎn)向下一個(gè)節(jié)點(diǎn)發(fā)送心跳信號(hào),如果下一個(gè)節(jié)點(diǎn)沒有收到心跳信號(hào),則認(rèn)為上一個(gè)存儲(chǔ)節(jié)點(diǎn)故障,并依次向下下個(gè)節(jié)點(diǎn)廣播此故障信息

          posted on 2008-02-22 11:02 pony 閱讀(1180) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 晴隆县| 临武县| 米脂县| 临猗县| 阿勒泰市| 法库县| 中牟县| 澎湖县| 静安区| 枣阳市| 崇仁县| 商河县| 鄂州市| 阳新县| 平舆县| 宿州市| 遂川县| 湖州市| 井研县| 蒲江县| 花垣县| 松江区| 拜城县| 平南县| 孝昌县| 屯门区| 贺州市| 丰镇市| 哈巴河县| 丰台区| 招远市| 乌拉特后旗| 玉环县| 拉孜县| 赤峰市| 杨浦区| 如皋市| 蒙城县| 蓝山县| 阳东县| 大新县|