当前位置:主页 > 科技论文 > 软件论文 >

蚂蚁金服消息队列运维平台的设计与实现

发布时间:2020-08-05 20:47
【摘要】:消息队列利用其高效稳定丰富的信息传递机制进行平台无关的数据交流,它基于消息的形式进行分布式系统的集成。随着业务数量和复杂度的增长,消息队列作为分布式系统之间通信的桥梁,其用户数量和自身部署规模也在快速增长:用户遇到的问题需要依靠用户支持来解决,因而用户数量的增长带来了用户支持总耗时的增长;另一方面消息队列部署规模的增加给服务状态监控和服务的容量规划等服务治理带来很大的压力,同时随着部署规模到达一定阈值,人工的服务治理已经难以满足需求。本文基于消息队列用户数量和部署规模不断增长的背景,对比当前消息队列运维相关产品的现状,针对它们的缺点并结合蚂蚁金服消息队列运维的需求,从设计和实现两方面提出了蚂蚁金服消息队列运维平台这一解决方案。本文的主要工作如下:(1)针对平台的扩展性和维护性问题,本文提出了仿照函数式编程的无状态系统架构,将后端的状态抽离到共有的持久化存储,解决了平台集群的扩展、实例迁移和实例重启状态恢复的复杂性问题,实现了实例的低成本添加及销毁,使运维人员无需关心平台的正确性问题,从而给平台的运维带来了很大的便利。(2)针对消息队列用户数量增长导致用户支持力不从心的问题,本文提出了将以往用户支持经验通过程序的形式固化成以提供解决方案为核心的用户自助支持的方案,解决了用户支持并发度低和耗时长的问题。更重要的是,由于改进后的用户自助支持不再只进行问题的反馈,而是直接提供了帮助用户解决问题的引导,省去了用户依据问题反馈进行人工分析的过程。(3)针对平台业务逻辑中建立SSH连接耗时过长导致用户请求整体耗时过长的问题,本文创造性地提出了可复用、可重入和缓存隔离的SSH连接池方案,方案的三种特性分别解决了 SSH连接重复创建、线程重复获取SSH连接和SSH连接缓存隔离的问题。本方案对SSH连接池的引入,总体上取得了同时减少业务操作耗时和资源占用的效果。(4)针对消息队列部署规模增长导致服务治理困难的问题,本文提出服务状态监控和容量规划的方案。其中服务状态监控解决了无法把控服务高维度状态和感知异常不及时的问题;容量规划解决了集群容量不足和集群资源浪费的问题。以上两方面的改进,使消息队列更好地满足了其服务等级协议。(5)针对分布式环境下执行任务的健壮性问题,本文提出了更为轻量级的分布式任务调度的方案,解决了分布式执行任务的负载均衡、任务丢失和任务同时重复执行的问题。这一改进帮助开发人员将关注点集中于任务的业务逻辑,而不再需要考虑分布式任务调度和容错的问题。自上线以来,蚂蚁金服消息队列运维平台运行状态良好。消息队列用户可从平台获得用户自助支持服务;消息队列运维人员可通过平台使用服务监控和容量规划等服务治理功能。据统计,本平台以平均每月9000的有效页面访问量和400的用户数量对企业内部提供服务,大大提高了消息队列用户支持和服务治理的效率,达到了企业对该平台的基本需求。
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:

时序数据,时间戳,名字,指标值


最终选择了邋OpenTSDB作为指标的时序数据存储。逡逑OpenTSDB由时序后台程序(Time邋Series邋Daemon,TSD)和命令行工具逡逑两部分组成。OpenTSDB的部署关系图如图2.1所示。时序后台程序没有主从逡逑概念,它们之间互相独立,且没有共享的状态。因此可以部署任意多个时序后台逡逑程序来处理相应的负载。时序后台程序使用HBase集群或者是Google的逡逑BigTable服务来存取时序数据。数据的存储格式为了快速聚合和减少存储空间高逡逑度优化。OpenTSDB的用户可以通过简单的类telnet协议、HTTP邋AP丨或者内置逡逑的Web邋GUI与时序后台程序通信,而不需要直接访问底层的存储。这种架构使逡逑得OpenTSDB将存储的可靠性和可扩展性转嫁到HBase中,再加上时序后台逡逑程序是无状态的,可以随时扩展[Stoica,邋2000],因此整体上OpenTSDB的水平逡逑扩容很方便。逡逑Server逦Server逦Server逡逑^ ̄逦\逦 ̄1邋 ̄逡逑T5D^PC逦rSD邋RPC邋TSD邋RFC逡逑1逦j逡逑逦邋JT逡逑HTTP逡逑Web邋UI邋,逦l逡逑/dashboards逦f邋TSO邋H^Rpc逦HBase邋RPC逡逑逦邋HTTP逦H‘;#逦TS0逡逑or逡逑RPC逡逑l逦HBase集群丨;逡逑Scripts逡逑图2.1邋OpenTSDB部署图逡逑在OpenTSDB中,时序数据由4部分组成:指标的名字、时间戳、指标值逡逑和描述该时序数据归属的一组标记。指标的名字用来区别指标的类别

用例图,支持需求,用例图


3.2.1系统用例分析逡逑根据的背景和目标分析,蚂蚁金服消息队列运维平台面向消息队列用户和消逡逑息队列运维两类用户。如系统用例图3.1所示,消息队列用户是消息队列客户端逡逑诊断、消息状态g湍D庀⒎⑺偷牟斡胝摺O⒍恿锌突Ф苏锒虾拖⒆刺义喜檠庸δ芑稚侠纯词粲谟没ё灾С帧F渲锌突Ф说恼锒戏治⒉级撕投┰腻义隙肆嚼嗫突Ф说恼锒稀O⒌淖刺檠哺莶煌挠没Ы巧筒煌膅儒义献隽擞美南阜帧6杂谙⒍恿性宋嗽保裰卫碇械姆褡刺嗫睾头皴义先萘抗婊蚴侵饕墓刈⒉糠帧V副晔莸某槿。釉兀牛裕淌欠褡刺嗫劐义虾头袢萘抗婊氖莼。虼酥副晔菔占椭副晔菰ご沓晌秸吖插义系淖酉低秤美7褡刺嗫氐暮诵氖墙莩氏指宋嗽薄F渲凶钔ǔ5囊诲义现质峭ü副晔菘墒踊男问秸故靖没В又悄艿氖腔诘背鱿值闹副暌戾义铣T偻ü嗫乇ň姆绞酵ㄖ没Аe义希保村义

本文编号:2781856

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2781856.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户db9d4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com