CM--集群管理與負載均衡系統(tǒng).pptx_第1頁
CM--集群管理與負載均衡系統(tǒng).pptx_第2頁
CM--集群管理與負載均衡系統(tǒng).pptx_第3頁
CM--集群管理與負載均衡系統(tǒng).pptx_第4頁
CM--集群管理與負載均衡系統(tǒng).pptx_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1,CM-集群管理與負載均衡系統(tǒng),五竹, 搜索與算法,目錄,性能與應用,2,目錄,背景介紹,Clustermap(CM)-集群管理與負載均衡系統(tǒng)起源于淘寶商品搜索引擎. 主要解決如下問題: 如何知道服務節(jié)點(searcher) 是否可用 如何選取一行服務節(jié)點,并能保持各行之間的負載均衡 如何選取某一列的一個節(jié)點 不停服務的情況下,增減機器,Before,背景介紹,伴隨著淘寶搜索業(yè)務的發(fā)展,CM面臨越來越多的挑戰(zhàn): 集群間的集群狀態(tài)管理與負載均衡的要求越來越多,如 SP需要知道其下面的所有服務的拓撲和存活狀態(tài). 服務定位更復雜,同一個物理集群,可以做為多個不同的邏輯集群對外提供服務,并且其下的服務節(jié)點,在不同的連輯集群中,狀態(tài)可以不一樣。如 etao HA3 集群。 服務的信息顆粒要求更小,如 UPS系統(tǒng)中,需要知道某張表的分區(qū),分布在那些節(jié)點上。 替換LB設備,網(wǎng)內(nèi)集群間的流量越來越大(每天幾十億),LB設備的成來也越來越大.,背景介紹,性能更強大,支持更多的節(jié)點。HA3 原來采用 zookeeper 來做心跳,集群到2000臺左右時,出現(xiàn)性能瓶頸。 運維管理需求,根據(jù) cpu_busy,latency,iowait 等來自動下線 offline 機器 除主動心跳外,還支持更多的服務有效性檢查測試.,2. 2012年CM經(jīng)過了一次重構(gòu),以便更好的支持集群間的服務定位與發(fā)現(xiàn)的應用需求.,Now,目錄,性能與應用性能,性能與應用應用,性能與應用應用,管理搜索內(nèi)部所有集群,14個業(yè)務線,31個集群 統(tǒng)一搜索內(nèi)部所有服務定位和集群狀態(tài)管理 替換搜索內(nèi)部LB負載均衡設備(近 50 億PV),目錄,CONTENTS,功能特性,訂 閱,運維管理,同步ConfigServer,負載均衡,監(jiān)控&報警,PHP擴展,名詞說明,Cluster: 多個節(jié)點組成的集合稱為一個Cluster CMServer: ClusterMap內(nèi)部的服務端,管理集群和節(jié)點 HBNode: 表示心跳匯報節(jié)點,匯報自己狀態(tài)信息到CMServer Subscriber: 訂閱者,與CMServer通訊,獲取集群信息 CMSubProxy: 訂閱者代理,訂閱者功能基礎上還會寫共享內(nèi)存 CMCtrl: 工具,用來提供集群的增/刪/改,節(jié)點的上下線 ConfigServer: 淘寶的一個管理配置的服務,功能特性,心跳匯報,1/匯報類型,需要預先配置的節(jié)點 不需要預先配置的直接匯報的節(jié)點,2/節(jié)點可以匯報心跳和負載信息,及用戶自定義的數(shù)據(jù)信息,3/支持一個節(jié)點對應多個集群,即一個節(jié)點在多個集群中存在,4/支持一個節(jié)點注冊多個端口和協(xié)議,功能特性,健康檢查,節(jié)點健康檢查,節(jié)點不需要向CMServer匯報,CMServer會主動定期檢查節(jié)點的狀態(tài)是否正常 包括四層健康檢查,和七層健康檢查 同時支持一個節(jié)點對應多個集群 定義 4/7 層健康檢查協(xié)議,可以向 CM 返回集群系統(tǒng)狀態(tài)(cpu_busy等),qps,latency 信息(暫未實現(xiàn)),功能特性,同步ConfigServer,CMServer上的節(jié)點信息同步到ConfigServer,根據(jù)配置, 可以將某些集群的信息同步的 ConfigServer, 方便基于Hsf/Configserver 框架的Java前端,這樣就可以通過 ConfigServer 來獲取搜索后臺服務的有效節(jié)點信息, 直接訪問, 而不再通過VIP方式訪問,功能特性,訂 閱,1/訂閱集群方式,訂閱所有集群 根據(jù)配置,訂閱1個或多個集群,2/集群的拓撲結(jié)構(gòu),類似于Kingso的物理集群到拓撲集群 1-1 映射 類似與Ups的物理集群到拓撲集群 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獲取當前節(jié)點的狀態(tài) getNodeMetaInfo 根據(jù)節(jié)點spec獲取當前節(jié)點的MetaInfo信息 getPartitionCnt 獲取一個 TopoCluster 中的分區(qū)數(shù) getNodeCntOfPartition 獲取一個 TopoCluster 中的某分區(qū)的節(jié)點數(shù),功能特性,負載均衡,功能特性,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é)點自動下線,當節(jié)點的負載或者Qps超過節(jié)點承受能力時,CMServer可以自動下線該節(jié)點,功能特性,5/支持CMServer級聯(lián),即一臺CMServer訂閱另一臺CMServer上的集群,6/支持CMServer主從切換,不需要同步集群信息,通過的ZK的leader選舉機制,進行CMServer主從切換,即當前的CMMaster服務停掉,ZK上會立即選舉一個CMMaster,新的Master會從ZK上拿到集最新的集群全量信息,運維管理,功能特性,監(jiān)控&警報,監(jiān)控&報警,Zk服務監(jiān)控 CMServer服務和配置文件監(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),管理機器,負責管理集群拓撲結(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匯報心跳和負載信息,HBNode,整體架構(gòu),CMServer端定期檢查服務狀態(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論