高并发系统设计--监控

系统监控是为了快速地发现和定位业务系统中出现的问题。在构建系统监控的过程中,一般需关注以下三方面问题:

  1. 如何选择监控的指标
  2. 有哪些方法和途径可以采集指标
  3. 采集的指标如何处理和展示
如何选择监控的指标

一般服务层需要监控四个指标,分别为延迟、通信量、错误和饱和度。

  • 延迟指的是请求的响应时间。比如接口的响应时间、访问数据库和缓存的响应时间。
  • 通信量可以理解为吞吐量,也就是单位时间内请求量的大小。比如访问第三方服务的请求量,访问消息队列的请求量。
  • 错误表示当前系统发生的错误数量。
  • 饱和度指的是服务或者资源到达上限的程度(也可以说是服务或者资源的利用率),比如 CPU 的使用率、内存使用率、磁盘使用率、缓存数据库的连接数等等。

一些特殊的系统也有特殊的监控指标,例如:数据库主从延迟数据、消息队列的堆积情况、缓存的命中率等等

有哪些方法和途径可以采集指标

监控指标的采集,一般会依据采集数据源的不同选用不同的采集方式,总结起来,大概有以下几种类型:

  • Agent 是一种比较常见的采集数据指标的方式,在数据源的服务器上部署自研或者开源的 Agent 来收集数据,发送给监控系统,实现数据的采集。
  • 另一种很重要的数据获取方式是在代码中埋点
  • 日志也是你监控数据的重要来源之一
采集的指标如何处理和展示

在采集到监控数据之后,对它们进行处理和存储了。一般会先用消息队列来承接数据,主要的作用是削峰填谷,防止写入过多的监控数据,对监控服务产生影响。
可以部署两个队列处理程序,来消费消息队列中的数据。

  • 一个处理程序接收到数据后,把数据写入到 Elasticsearch,然后通过 Kibana 展示数据,这些数据主要是用来做原始数据的查询。
  • 另一个处理程序是一些流式处理的中间件,比如 Spark、Storm。接收数据后会做一些处理,这些处理包括:解析数据格式。从里面提取诸如请求量、响应时间、请求 URL 等数据;对数据做一些聚合运算。

一般从不同的数据源中采集了很多的指标,最终在监控系统中一般会形成以下几个报表:

  1. 访问趋势报表:展示了服务整体的访问量、响应时间情况、错误数量、带宽等信息。它主要反映的是服务的整体运行情况,帮助你来发现问题。
  2. 性能报表:这类报表对接的是资源和依赖服务的埋点数据,展示了被埋点资源的访问量和响应时间情况。它反映了资源的整体运行情况。
  3. 资源报表:这类报表主要对接的是使用 Agent 采集的资源的运行情况数据。当你从性能报表中,发现某一个资源出现了问题,那么就可以进一步从这个报表中,发现资源究竟出现了什么问题,是连接数异常增高还是缓存命中率下降。这样可以进一步帮你分析问题的根源,找到解决问题的方案。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 阿里亿级高并发设计手册是阿里巴巴技术团队在处理超高并发场景时总结的一份指南,该手册已经开源在GitHub上。该手册涵盖了在处理高并发场景下的架构设计、性能优化、系统扩展等方面的经验和实践。 手册的目的是帮助开发人员更好地理解如何设计高并发系统,并提供一些实用的指导原则和最佳实践。它提供了用于处理大量并发请求的常用解决方案,包括负载均衡、缓存、分布式存储、分布式事务等。 手册主要分为三个部分:架构篇、性能篇和工程篇。架构篇介绍了高并发系统设计原则和架构模式,例如分布式架构、微服务架构和据分片等。性能篇讲解了性能优化的方法和技巧,例如使用缓存、异步化处理和并发控制等。工程篇则提供了一些工程实践,例如日志管理、监控和故障处理等。 阿里亿级高并发设计手册在GitHub上的开源是为了让更多的人可以学习和分享高并发系统设计的经验。开源社区的力量可以促进不同团队之间的合作和创新。通过在GitHub上开源,阿里巴巴也可以吸引更多的开发人员加入并为该手册贡献自己的经验和想法。 总之,阿里亿级高并发设计手册是一个非常有价值的资源,它提供了丰富的关于处理高并发场景的经验和实践,为开发人员在设计和开发高性能系统时提供了有益的指导和参考。 ### 回答2: 阿里亿级高并发设计手册是一个由阿里巴巴技术团队开发并维护的开源项目,位于GitHub平台上。该手册为开发者提供了关于处理高并发场景的设计原则和实用技巧。 该手册提供了丰富的内容,包括分布式系统设计、缓存策略、负载均衡、据库设计等方面的指导。对于阿里巴巴这样拥有庞大用户量和极高并发的互联网公司,高并发设计显得尤为重要,因此该手册积累了许多实践经验,对于开发者来说是非常宝贵的资料。 手册中的设计原则包括:分布式和高可用、缓存设计据库设计、消息队列、分库分表、服务器和网络的优化等。通过阅读该手册,开发者可以了解到如何设计能够应对海量请求的系统架构、如何使用缓存来减轻据库压力、如何选择合适的技术方案来解决高并发问题等。 此外,该手册还提供了一些常用的设计模式和技术框架,例如据库读写分离、分布式锁、消息中间件等,这些都是在实际项目中被广泛应用的解决方案。 阿里亿级高并发设计手册的出现对于开发者来说是一个非常好的资源,可以帮助他们更好地理解和应对高并发场景的挑战。无论是对于新手还是有经验的开发者,通过阅读和学习该手册,都能够提高自己的技术水平,设计出更加高效和稳定的系统。因此,阿里亿级高并发设计手册在GitHub上备受关注和推崇。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值