`

分布式系统的监控和可维护性

阅读更多

当一个100万行以上代码的分布式系统或者复杂的生产系统部署上去后,监控和维护便会成为很大的问题,

如旺旺/QQ 这样的大型IM系统,或者 Alimail这样的邮件系统,以及taobao.com这样的网站。

当生产系统中的进程以百为单位时,没有很好的监控和维护系统,PE人员的维护将成为灾难。如一次大的升级或者机房搬迁非常容易出问题。

为了解决该问题,需要系统的架构师在设计系统的开始就需要考虑维护和升级问题。解决的办法为系统自带监控管理自检系统。

如该分布式系统是C++写的自定义协议的分布式程序,则系统中的每个进程都必须从一个框架继承过来,而该框架拥有自带进程识别信息(进程的Size,SVN版本,以及API的调用次数和Costtime)上报给监控中心,并且定义好每个角色的Instance数目。这样当生产环境中某个进程的版本不符合时就会马上报警,避免生产环境中部署了错误版本的进程。

另外由于有Instance数目的监控,这样当进行大规模升级或者机房搬迁时不会由于某个进程忘了部署而导致业务出问题。

另外监控系统自身还带有API 调用关系图,实现的方法如在RPC Call的Message头中加入Caller的信息,以及在Message的Response中

加入Responder的信息,并把Call信息采样上报给监控中心后就可以自动根据Message流动画出API 流程图。

这样也就很容易知道某个API有哪些APP在调用,以及依懒哪些APP了。

另外由于每个API都有最大/最小/平均响应时间上报给监控中心,这样就可以根据响应时间来自动推测系统的健康状况,以及是否有异常。

如某个API的次数突然过高,或者过低,则监控中心就可以发送Alarm给相关的维护人员PE. 而PE收到报警后可以根据API Call图马上定位问题。

(后面博文会根据自己参与的分布式系统开发经验进行总结)

原文地址:http://blog.csdn.net/jackem/archive/2011/03/06/6227016.aspx

分享到:
评论

相关推荐

    Designing Data Intensive Applications

    可靠性和可维护性:包括监控、日志记录、故障排除、容量规划和升级等方面。 这本书是一本非常有用的技术书籍,适合任何对数据密集型应用程序的设计和实现感兴趣的软件开发人员和系统管理员阅读。它不仅提供了实用的...

    RocketMQ搭建文档

    事件驱动架构:RocketMQ可以用来将事件异步传输到订阅者,从而实现事件驱动架构,降低系统的耦合度,提高系统的可扩展性和可维护性。 流式计算:RocketMQ可以用来传输实时流式数据,如日志、监控数据、交易数据等,...

    浅谈无线温湿度监测系统及当前使用领域

    无线温湿度监测系统是基于无线传感技术、网络技术、信息管理技术等先进技术为主 体,按照分步式原则设计,提高了系统的可靠性和可维护性。首先单个或距离相近的数个监 控点位进行温、湿度数据检测管理。方案采用...

    Java毕业设计-基于springboot开发的分布式架构网上商城--论文-附毕设源代码+说明文档.rar

    此外,项目还考虑了安全性和可维护性,采用了多种安全策略和监控机制,确保系统的稳定运行。 本资源还包含了一份详尽的论文,对项目的设计思路、实现过程、技术难点等方面进行了深入的剖析和探讨。论文结构严谨,...

    gullveig:分布式系统和服务监视

    核心功能基于分布式和可伸缩代理的监视体系结构。 现代,易于使用的Web界面。 资源,计数器,指标和性能数据的时间序列图。 双冗余双向远程监控。 有关状态更改的自动警报和通知。 丰富的界面,用于远程事实和元数据...

    【清华】 软件工程(完) 视频.txt

    18.3分布式系统的体系结构模式 18.3.1主从体系结构 18.3.2两层客户机-服务器结构 18.3.3多层客户机-服务器结构 18.3.4分布式组件体系结构 18.3.5对等体系结构 18.4软件作为服务 要点 进一步阅读材料 练习 参考书目 ...

    安科瑞APV 系列智能光伏汇流箱-李亚俊

    提高可靠性和可维护性,APV 系列智能光伏汇流箱在提供汇防雷流功能的同时,还可提供光电池电流测量、监测光电池阵列中电池板运行状态、电池电压、汇流总功率、支路功率、汇流箱防雷器状态采集、直流断路器状态采集、...

    R软件代码转换为matlab-embedded_systems_2019:亚琛工业大学嵌入式系统Markdown2019

    强烈的实时性,安全性,可靠性,可维护性和可发展性要求 不断增加的复杂性和质量问题 产品和生产自动化的差异: 批量生产与独特和定制工厂 资源限制(对于产品自动化系统:重量,成本,能耗,安装空间) 制造商,...

    华为TaiShan200服务器技术白皮书.docx

    可管理性及安全性特点 2280的可管理性及安全性特点如下: 集成在服务器上的iBMC管理模块可用来监控系统运行状态,并提供远程管理功能。 集成了业界标准的统一可扩展固件接口(UEFI),因此能够提高设置、配置和更新...

    六:大数据架构-Flink+AI.pdf

    Lambda架构在解决数据时效性的同时也存在⼀些问题,其中最受诟病的就是其系统复杂度和可维护性。⽤户需要为Batch Layer 和 Speed Layer 各维护⼀套引擎和代码,还需要保证⼆者之间的计算逻 辑完全⼀致(图1) 为了...

    03开源NewSql数据库TiDB-Deep Dive into TiDB

    优化 TiDB 的易用性和可维护性。TiDB 整套系统的复杂性比较高,运维及使用的难度要大于单机数据库,所以希望能提供尽可能方便的方案帮助用户使用 TiDB。比如尽可能简化部署、升级、扩容方式,尽可能容易的定位系统中...

Global site tag (gtag.js) - Google Analytics