大型网站稳定性技术建设

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 作为应用后台系统,随着业务发展阶段不断演进。 从小型服务到大型微服务架构服务, 稳定性越来越重要。 稳定性技术也是作为技术人员必备的技术知识点。

稳定性技术策略
什么是稳定性
对于大型微服务系统,在错综复杂的服务逻辑各种交互情景下,面对各种未知的条件变化,整体系统依旧能够正常平稳的提供服务,这便是稳定性。

影响稳定性的因素
系统稳定性影响因素非常多,举例来说:

  • 服务间的依赖:某个服务 BUG 造成其他依赖服务的不可用;
  • 业务逻辑变更:业务逻辑不断迭代演变,新老服务的不兼容;
  • 访问流量激增:流量突然增加,比如我们进行促销活动期间,导致服务压力过大 ,达到服务能力上限,从而导致服务崩溃;
  • 机器老化异常:任何机器和人一样,都有生老病死,随着长时间的运行,也会有磨损,因此某个机器故障,也是可能的异常。

还有其他各方面的因素,在这里就不进行穷尽了,大家可以思考一下,还有那些经典的影响因素。

稳定性的衡量标准
稳定性衡量标准一般用 N 个 9 来衡量。如表格所示:
1
比如说某个系统网站全年稳定性达到 4 个 9 ,意味着全年服务不可用的时间小于等于 53 分钟。

稳定性技术策略
稳定性的技术策略,是我们本文介绍的重点,从大的方面来说,稳定性技术策略包含:监控,冗余,限流,降级,回滚,重试。

在这里重点介绍监控相关的内容。

监控

监控是指对整个系统服务进行实时的监控操作,准确反馈系统运行状态,能够做到及时发现异常故障,记录详细日志与数据,提高故障发现,定位,解决的效率。从而提高系统服务整体稳定性。

监控是保证稳定性最基础工作。我们将重点介绍监控需要从几个方面考虑? 有哪些监控方向?

监控可以分为以下几类来进行:

流量监控

流量监控包括:PV、 UV、 IP,热门页面,用户响应时间。

这些基本的流量指标就不在这里向大家详细说明了,如果有不太清楚的同学可以自己搜索一下。

在流量监控这块,我们需要注意的是:流量毛刺。流量毛刺往往代表了系统某个风险点或者异常情况的发生。

一个正常业务的流量趋势具备周期一致性特征。比如说,一个业务每天的流量峰值一般在中午 12:00 和下午 18:00,那么这种峰值在没有特殊情况出现的前提下,应该会遵循该峰值时间规律。 那么流量毛刺是啥呢? 如下图所示:
2
从图中左侧部分可以看到,8 点钟有流量的突增,这时候我们需要确认为什么会有流量的突增。是业务的正常表现,还是有其他的异常流量进入。

从图中右侧部分可以看到,每条曲线代表了每一天的流量统计,红色曲线相对于其他几天的流量曲线在凌晨 3:00 和早上 8:00 的时候有明显的流量毛刺,这时候我们就需要确认是什么因素造成流量数据的突变。

通过对于流量毛刺的观察,能够让我们及时了解业务中的风险,及时做好预警与准备。

业务监控

业务监控是根据业务属性来定义监控指标,可以用于判定整体业务的运转是否正常。不同业务类型监控的指标肯定有所不同,比如电商场景、物流场景、游戏场景是完全不同的监控方向。

我们拿一个电商交易业务系统来举例,看看有哪些监控指标?大家可以参考着思考自己目前负责的业务指标。举例来说针对一个电商交易系统我们可以监控的业务指标有:

  • 用户下单监控:秒/分/时 用户下单统计 ;
  • 用户支付监控:秒/分/时 用户支付统计;
  • 用户退款情况:秒/分/时 用户退款统计;
  • 商品库存状态:库存消耗/剩余统计;
  • 业务 GMV 监控:业务整体销售额统计;
  • 商家在线状态:监控商家在线状态;
  • 促销运营监控:监控促销金额与数量。

在业务监控中,还需要重点关注业务转化漏斗概念。流量漏斗可以看出业务转化率以及用户的访问深度。它是业务健康程度的监控,也是部分需求效果的衡量标准。如下图所示:
3

机器监控

机器监控需要关注的内容,应该是后台研发比较熟悉的部分。 主要监控方向包含下面几个部分:
4
当然在 linux 系统中,也有各种常用指令,来进行该类数据的收集:top、free、ping、iostat、netstat。

对于 Java 系统来说,需要进行 JVM 层面的监控内容,比如说:gc 的情况,线程创建销毁情况,full gc 情况,内存不同模块使用情况等。 JVM 同样也提供了指令集,方便我们进行信息的查找:jstat、jps、stack、jmap、jhat 等。

日志记录

在日志的打印过程中,我们需要注意日志的打印规范,日志打印内容应该包含对于问题排查有益的信息,并且日志格式清晰,可解析性高。日志一般是打印到服务器磁盘上面,但是由于单机磁盘能力有限,并且对于大型分布式系统来说需要整体收集不同服务器模块的日志,进行统一分析,提高问题排查效率。这时候就需要一个集中式的日志中心。

日志中心的核心能力一般包含:获取日志、存储日志、展示日志、分析日志、报警服务。

相对比较简单的实现方式可以采用ELK快速搭建自己的日志中心。
5
我们利用 kafka 将日志信息,进行异步广播,然后进行日志的解析,存储到 ES 检索系统中,利用 kibana 来进行日志的检索、查看等。进一步提升日志的有效管理。

总结

上面是监控相关内用,希望对大家有所帮助。

更多关于大型网站稳定性建设的内容,请参考: https://www.roncoo.com/view/1070493514408189953

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
移动开发 JSON 运维
前端稳定性建设
前端稳定性建设
|
存储 缓存 运维
高可用互联网系统稳定性建设实践指南
自己以及带领团队曾经负责较多不同的互联网服务系统,如几十万应用数&亿级流量的云计算平台、年营收将近千亿的广告系统、亿级用户千万级日活的用户系统、亿级交易额的交易系统、算法在线离线工程系统等相关系统或子系统,整体而言无重大故障,达到定级故障数也很少,线上稳定性保障在一个不错的水位上。阶段性总结下我自己从团队技术负责人视角做好稳定性建设的实践性思考和简要思路,为感兴趣的技术同学提供一个实践指南。 我的团队稳定性建设思路包括了3大技术要素:良好的系统架构和实现、完备的团队研发运维流程机制、技术同学良好意识和能力,以及1个业务要素:良好的研发项目管理。
高可用互联网系统稳定性建设实践指南
|
消息中间件 缓存 监控
系统稳定性建设实践总结
2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
系统稳定性建设实践总结
|
JSON 缓存 监控
系统的稳定性建设
 静儿来面试新美大这个部门的时候,HR跟我说我们是最核心的部门,没有之一。我以为这是句夸张的招人用的玩笑。结果来了发现,额,这句话是很公正客观的。现在上上下下组成了一支牛人团队,请来了其他部门很多资深高手进行封闭开发,确保我们系统的稳定性。   选择一份工作,必然要考虑的是:我们是做基础设施的,还是做平台的,还是做核心链路的。业务方面讲究领域驱动,各个领域目标也不同。   基础设施最重要的指标是稳定性、性能、扩展性。平台讲究多业务,通用性,人效。所谓人效就是我这个平台有些自动化的东西不能满足需求,需要靠手工来完成,这样开发人员的人效就低。如果一个平台需要输入的东西很多,而且还需要多步骤审核
|
缓存 监控 网络协议
云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.3高可用架构建设(上)
云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.3高可用架构建设(上)
282 0
|
缓存 监控 容灾
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.3高可用架构建设(下)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.3高可用架构建设(下)
213 0
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
1325 0
|
弹性计算 运维 Kubernetes
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(1)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(1)
211 0
|
调度 容器 Perl
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(4)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(4)
200 0
|
存储 弹性计算 Cloud Native
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(2)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(2)
271 0

热门文章

最新文章