CM--集群管理与负载均衡系统x

CM--集群管理与负载均衡系统x

ID:38957624

大小:1.19 MB

页数:40页

时间:2019-06-22

CM--集群管理与负载均衡系统x_第1页
CM--集群管理与负载均衡系统x_第2页
CM--集群管理与负载均衡系统x_第3页
CM--集群管理与负载均衡系统x_第4页
CM--集群管理与负载均衡系统x_第5页
资源描述:

《CM--集群管理与负载均衡系统x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1CM--集群管理与负载均衡系统五竹,搜索与算法目录背景介绍1整体架构4功能特性3性能与应用2背景介绍1性能与应用2整体架构4功能特性3目录背景介绍Clustermap(CM)--集群管理与负载均衡系统起源于淘宝商品搜索引擎.主要解决如下问题:如何知道服务节点(searcher)是否可用如何选取一行服务节点,并能保持各行之间的负载均衡如何选取某一列的一个节点不停服务的情况下,增减机器Before背景介绍伴随着淘宝搜索业务的发展,CM面临越来越多的挑战:集群间的集群状态管理与负载均衡的要求越来越多,如SP需要知道其下面的所有服务的拓扑和存活状态.服务定位更复杂,同一个物理集

2、群,可以做为多个不同的逻辑集群对外提供服务,并且其下的服务节点,在不同的连辑集群中,状态可以不一样。如etaoHA3集群。服务的信息颗粒要求更小,如UPS系统中,需要知道某张表的分区,分布在那些节点上。替换LB设备,网内集群间的流量越来越大(每天几十亿),LB设备的成来也越来越大.背景介绍性能更强大,支持更多的节点。HA3原来采用zookeeper来做心跳,集群到2000台左右时,出现性能瓶颈。运维管理需求,根据cpu_busy,latency,iowait等来自动下线offline机器除主动心跳外,还支持更多的服务有效性检查测试.2.2012年CM经过了一次重构,以便更

3、好的支持集群间的服务定位与发现的应用需求.Now背景介绍1功能特性2整体架构4性能与应用2目录性能与应用—性能测试说明测试环境:linux2.6.18-164.el5cpu:16coreIntel(R)Xeon(R)CPUE5620cpuMHz:2400memory:32G测试结果在无CM级连的情况下,单个CMServer可以同时支持:心跳汇报节点(汇报周期100ms)10000个4/7层健康检查节点(检查周期1s)6000个订阅节点(更新周期1s)4000个瓶颈主要是千M网卡的带宽占满性能与应用—应用性能与应用—应用管理搜索内部所有集群,14个业务线,31个集群统一搜索

4、内部所有服务定位和集群状态管理替换搜索内部LB负载均衡设备(近50亿PV)目录CONTENTS背景介绍1功能特性2整体架构3性能与应用4功能特性订阅心跳汇报运维管理健康检查同步ConfigServer负载均衡监控&报警PHP扩展名词说明Cluster:多个节点组成的集合称为一个ClusterCMServer:ClusterMap内部的服务端,管理集群和节点HBNode:表示心跳汇报节点,汇报自己状态信息到CMServerSubscriber:订阅者,与CMServer通讯,获取集群信息CMSubProxy:订阅者代理,订阅者功能基础上还会写共享内存CMCtrl:工具,用来

5、提供集群的增/删/改,节点的上下线ConfigServer:淘宝的一个管理配置的服务功能特性心跳汇报1/汇报类型需要预先配置的节点不需要预先配置的直接汇报的节点2/节点可以汇报心跳和负载信息,及用户自定义的数据信息3/支持一个节点对应多个集群即一个节点在多个集群中存在4/支持一个节点注册多个端口和协议功能特性健康检查节点健康检查节点不需要向CMServer汇报,CMServer会主动定期检查节点的状态是否正常包括四层健康检查,和七层健康检查同时支持一个节点对应多个集群定义4/7层健康检查协议,可以向CM返回集群系统状态(cpu_busy等),qps,latency信息(暂

6、未实现)功能特性同步ConfigServerCMServer上的节点信息同步到ConfigServer根据配置,可以将某些集群的信息同步的ConfigServer,方便基于Hsf/Configserver框架的Java前端,这样就可以通过ConfigServer来获取搜索后台服务的有效节点信息,直接访问,而不再通过VIP方式访问功能特性订阅1/订阅集群方式订阅所有集群根据配置,订阅1个或多个集群2/集群的拓扑结构类似于Kingso的物理集群到拓扑集群1-1映射类似与Ups的物理集群到拓扑集群1-N映射3/支持本机房优先分配的策略4/支持订阅者为虚节点,只订阅不发心跳5/支

7、持多种语言的订阅(C,Php,Java,Lua,Node.js)功能特性订阅6/对外提供的查询接口allocRow获取一行节点allocValidRow获取一行有效节点allocNodeOfPartition获取一列的所有节点allocValidNodeOfPartition获取一列的所有有效节点allocNodeByPartitionId获取一个TopoCluster的某个分区中分配一个的节点6)allocValidNodeByPartitionId获取一个TopoCluster某个分区中分配一个可用的节点allocAllN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。