




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1,CM-集群管理與負(fù)載均衡系統(tǒng),五竹, 搜索與算法,目錄,性能與應(yīng)用,2,目錄,背景介紹,Clustermap(CM)-集群管理與負(fù)載均衡系統(tǒng)起源于淘寶商品搜索引擎. 主要解決如下問題: 如何知道服務(wù)節(jié)點(searcher) 是否可用 如何選取一行服務(wù)節(jié)點,并能保持各行之間的負(fù)載均衡 如何選取某一列的一個節(jié)點 不停服務(wù)的情況下,增減機器,Before,背景介紹,伴隨著淘寶搜索業(yè)務(wù)的發(fā)展,CM面臨越來越多的挑戰(zhàn): 集群間的集群狀態(tài)管理與負(fù)載均衡的要求越來越多,如 SP需要知道其下面的所有服務(wù)的拓?fù)浜痛婊顮顟B(tài). 服務(wù)定位更復(fù)雜,同一個物理集群,可以做為多個不同的邏輯集群對外提供服務(wù),并且其下的服務(wù)節(jié)點,在不同的連輯集群中,狀態(tài)可以不一樣。如 etao HA3 集群。 服務(wù)的信息顆粒要求更小,如 UPS系統(tǒng)中,需要知道某張表的分區(qū),分布在那些節(jié)點上。 替換LB設(shè)備,網(wǎng)內(nèi)集群間的流量越來越大(每天幾十億),LB設(shè)備的成來也越來越大.,背景介紹,性能更強大,支持更多的節(jié)點。HA3 原來采用 zookeeper 來做心跳,集群到2000臺左右時,出現(xiàn)性能瓶頸。 運維管理需求,根據(jù) cpu_busy,latency,iowait 等來自動下線 offline 機器 除主動心跳外,還支持更多的服務(wù)有效性檢查測試.,2. 2012年CM經(jīng)過了一次重構(gòu),以便更好的支持集群間的服務(wù)定位與發(fā)現(xiàn)的應(yīng)用需求.,Now,目錄,性能與應(yīng)用性能,性能與應(yīng)用應(yīng)用,性能與應(yīng)用應(yīng)用,管理搜索內(nèi)部所有集群,14個業(yè)務(wù)線,31個集群 統(tǒng)一搜索內(nèi)部所有服務(wù)定位和集群狀態(tài)管理 替換搜索內(nèi)部LB負(fù)載均衡設(shè)備(近 50 億PV),目錄,CONTENTS,功能特性,訂 閱,運維管理,同步ConfigServer,負(fù)載均衡,監(jiān)控&報警,PHP擴展,名詞說明,Cluster: 多個節(jié)點組成的集合稱為一個Cluster CMServer: ClusterMap內(nèi)部的服務(wù)端,管理集群和節(jié)點 HBNode: 表示心跳匯報節(jié)點,匯報自己狀態(tài)信息到CMServer Subscriber: 訂閱者,與CMServer通訊,獲取集群信息 CMSubProxy: 訂閱者代理,訂閱者功能基礎(chǔ)上還會寫共享內(nèi)存 CMCtrl: 工具,用來提供集群的增/刪/改,節(jié)點的上下線 ConfigServer: 淘寶的一個管理配置的服務(wù),功能特性,心跳匯報,1/匯報類型,需要預(yù)先配置的節(jié)點 不需要預(yù)先配置的直接匯報的節(jié)點,2/節(jié)點可以匯報心跳和負(fù)載信息,及用戶自定義的數(shù)據(jù)信息,3/支持一個節(jié)點對應(yīng)多個集群,即一個節(jié)點在多個集群中存在,4/支持一個節(jié)點注冊多個端口和協(xié)議,功能特性,健康檢查,節(jié)點健康檢查,節(jié)點不需要向CMServer匯報,CMServer會主動定期檢查節(jié)點的狀態(tài)是否正常 包括四層健康檢查,和七層健康檢查 同時支持一個節(jié)點對應(yīng)多個集群 定義 4/7 層健康檢查協(xié)議,可以向 CM 返回集群系統(tǒng)狀態(tài)(cpu_busy等),qps,latency 信息(暫未實現(xiàn)),功能特性,同步ConfigServer,CMServer上的節(jié)點信息同步到ConfigServer,根據(jù)配置, 可以將某些集群的信息同步的 ConfigServer, 方便基于Hsf/Configserver 框架的Java前端,這樣就可以通過 ConfigServer 來獲取搜索后臺服務(wù)的有效節(jié)點信息, 直接訪問, 而不再通過VIP方式訪問,功能特性,訂 閱,1/訂閱集群方式,訂閱所有集群 根據(jù)配置,訂閱1個或多個集群,2/集群的拓?fù)浣Y(jié)構(gòu),類似于Kingso的物理集群到拓?fù)浼?1-1 映射 類似與Ups的物理集群到拓?fù)浼?1-N 映射,3/支持本機房優(yōu)先分配的策略,4/支持訂閱者為虛節(jié)點,只訂閱不發(fā)心跳,5/支持多種語言的訂閱(C, Php, Java, Lua,Node.js),功能特性,訂 閱,6/對外提供的查詢接口,allocRow 獲取一行節(jié)點 allocValidRow 獲取一行有效節(jié)點 allocNodeOfPartition 獲取一列的所有節(jié)點 allocValidNodeOfPartition 獲取一列的所有有效節(jié)點 allocNodeByPartitionId 獲取一個 TopoCluster 的某個分區(qū)中分配一個的節(jié)點 6) allocValidNodeByPartitionId 獲取一個 TopoCluster 某個分區(qū)中分配一個可用的節(jié)點 allocAllNode 獲取集群所有節(jié)點 allocAllValidNode 獲取集群所有有效節(jié)點 getNodeStatus 根據(jù)節(jié)點spec獲取當(dāng)前節(jié)點的狀態(tài) getNodeMetaInfo 根據(jù)節(jié)點spec獲取當(dāng)前節(jié)點的MetaInfo信息 getPartitionCnt 獲取一個 TopoCluster 中的分區(qū)數(shù) getNodeCntOfPartition 獲取一個 TopoCluster 中的某分區(qū)的節(jié)點數(shù),功能特性,負(fù)載均衡,功能特性,PHP擴展,訂閱者支持: Nginx+Php,基于共享內(nèi)存方式同步集群變更信息的CMSubProxy 和 Php Extension Lib,訂閱者支持: Nginx+Lua,基于共享內(nèi)存方式同步集群變更信息的CMSubProxy 和 Lua Extension Lib,訂閱者支持: TNginx,基于共享內(nèi)存方式同步集群變更信息的CMSubProxy 和 Tnginx Module,功能特性,1/集群配置隔離 ,方便管理,ClusterMap做到一個集群只在一個配置文件里,不同集群互不影響,運維管理,2/集群操作,添加,刪除,查詢,上線,下線,3/節(jié)點操作,添加,刪除,查詢,上線,下線,4/支持節(jié)點自動下線,當(dāng)節(jié)點的負(fù)載或者Qps超過節(jié)點承受能力時,CMServer可以自動下線該節(jié)點,功能特性,5/支持CMServer級聯(lián),即一臺CMServer訂閱另一臺CMServer上的集群,6/支持CMServer主從切換,不需要同步集群信息,通過的ZK的leader選舉機制,進行CMServer主從切換,即當(dāng)前的CMMaster服務(wù)停掉,ZK上會立即選舉一個CMMaster,新的Master會從ZK上拿到集最新的集群全量信息,運維管理,功能特性,監(jiān)控&警報,監(jiān)控&報警,Zk服務(wù)監(jiān)控 CMServer服務(wù)和配置文件監(jiān)控 集群狀態(tài)和內(nèi)部節(jié)點的狀態(tài)監(jiān)控 同步到ConfigServer上的節(jié)點信息監(jiān)控,WebServer,上下線集群和節(jié)點 查看所有的訂閱者 查看集群狀態(tài)和內(nèi)部節(jié)點的狀態(tài) 查看同步到ConfigServer上的節(jié)點信息,目錄,整體架構(gòu),整體架構(gòu),整體架構(gòu),管理機器,負(fù)責(zé)管理集群拓?fù)浣Y(jié)構(gòu)、收集節(jié)點狀態(tài)信息、向訂閱者推送集群狀態(tài)信息,CMServer,整體架構(gòu),Server級聯(lián)功能,CMServer2,整體架構(gòu),運維管理工具:用來提供集群的增/刪/改,節(jié)點的offline/online等操作,CMCtrl,整體架構(gòu),操作集群,監(jiān)控和報警,WebServer,整體架構(gòu),定期向CMServer匯報心跳和負(fù)載信息,HBNode,整體架構(gòu),CMServer端定期檢查服務(wù)狀態(tài)、,APPServer,3# 整體架構(gòu),定期同步管理的結(jié)點信息給ConfigServer,ConfigServer,整體架構(gòu),集群的訂閱者,先向C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生思想政治教育與使命感建設(shè)的有機融合
- 廣東省深圳市羅湖區(qū)文錦中學(xué)2025屆八年級數(shù)學(xué)第一學(xué)期期末綜合測試試題含解析
- 四川省廣安市代市中學(xué)2024年七年級數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含解析
- 湖北省谷城縣2024年數(shù)學(xué)八年級第一學(xué)期期末聯(lián)考試題含解析
- 陜西省山陽縣2024年物理八年級第一學(xué)期期末教學(xué)質(zhì)量檢測試題含解析
- 山東省青島市超銀中學(xué)2025屆八年級數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 二手房買賣合同含房屋質(zhì)量及驗收標(biāo)準(zhǔn)
- 特定病種護理技術(shù)操作指南與流程
- 智能家居背景下AR家裝設(shè)計平臺的機遇與挑戰(zhàn)
- 2025至2030LED產(chǎn)業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2023aki的預(yù)防診斷和管理
- 慢性腎衰竭患者心理的護理
- 艾梅乙反歧視培訓(xùn)課件
- 小學(xué)數(shù)學(xué)課堂教學(xué)實踐與創(chuàng)新
- 2024年安徽外國語學(xué)院輔導(dǎo)員考試真題
- 2025年經(jīng)濟法與金融監(jiān)管專業(yè)考試試題及答案
- 菱鎂礦行業(yè)研究報告
- 健康鉛中毒課件
- 錫紙畫美術(shù)課件
- 2025年安徽蚌埠市臨港建設(shè)投資集團及所屬公司招聘筆試參考題庫含答案解析
- 西安紀(jì)檢監(jiān)察試題及答案
評論
0/150
提交評論