混沌演练实践(二)-支付加挂链路演练

这篇具有很好参考价值的文章主要介绍了混沌演练实践(二)-支付加挂链路演练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 背景

当前微服务架构下,各个服务间依赖高,调用关系复杂,业务场景很少可以通过一个系统来实现,常见的业务场景实现基本涉及多个上下游系统,要保证整体链路的稳定性,需要尽量减少系统之间的耦合性,避免因为单点失效引起整个链路的故障。

2. 目标

通过混沌演练验证链路中部分系统发生故障时候的整体链路的表现,对链路保持正常运作的能力进行校验和评估,提前识别未知隐患并进行修复,进而保障整个链路更好地抵御生产环境中的失控条件,提升整体场景功能的稳定性。

3. 演练链路

对真实的业务场景进行混沌演练,就需要对业务场景的相关服务和调用关系进行链路梳理,一般需要根据实际业务场景,画出系统交互图,通过链路串联、数据追踪、和上下游确认等方式整理链路图。

4. 演练计划

混沌演练之前,一定要好可行性评估,评估可以演练的服务部署环境、演练工具的成熟度、演练场景的爆炸半径等,然后决策演练场景,进行实践操作。

混沌演练实践(二)-支付加挂链路演练

5. 内容加载演练实践

5.1 链路梳理

内容加载链路演练,通过内容加载的系统交互梳理出加载链路:摹略引擎执行-AB分流-CMS资源获取-鹰眼内容发送

混沌演练实践(二)-支付加挂链路演练

5.2 接口梳理

根据调链路调用关系用梳理出具体的接口:

混沌演练实践(二)-支付加挂链路演练

5.3 制定演练计划

演练时间:2023.03.28 14:00-22:00

演练攻击人员:孙X英、陈X然; 演练防守人员:张X雷、付X军、刘X、韩X

针对链路接口设计演练场景,一般根据系统特色来设计更容易发生的故障,比如应用偏计算比较消耗CPU的话,故障设计包含CPU满载,应用对于响应的时效有严格的要求的话一般包含方法延迟故障设计。

本次链路故障场景设计如下:

混沌演练实践(二)-支付加挂链路演练

具体演练场景设计可参考:混沌实战演练(一)

5.4 演练执行

目前借助天权自动化运维平台进行混沌攻防演练,进入工具市场—演练类,选择不同的故障方案,点击“立即执行”;

如选择Java进程满载场景演练,选择满载率100%,满载核数为演练应用部署服务的CPU核数,演练时长是执行满载的持续时间,选择演练的具体应用和指定IP,执行演练计划。

演练示例,根据演练的场景配置好故障参数,如下图为精准触达系统-消息触达方法延迟增加30ms参数设定:

混沌演练实践(二)-支付加挂链路演练

演练执行结果检查,下图为分流服务-JAVA进程满载,指定分流进程CPU满载,故障执行结果:

混沌演练实践(二)-支付加挂链路演练

5.5 演练监控

使用监控工具实时收集服务器在混沌演练运行期间的性能状态,如系统层面的 CPU、内存等使用情况,观察方法的响应时间、成功率等指标,一方面验证在混沌场景执行期间系统状态是否达到预期的效果,同时记录演练期间发生的问题,记录现场,另一方面通过监控发现有风险问题进行人工干预,立刻终止演练。

场景一:精准触达系统-消息触达方法延迟增加30ms

演练监控方法执行的成功率和 TP 999:

混沌演练实践(二)-支付加挂链路演练

场景二:分流服务-JAVA进程满载,指定分流进程CPU满载

监控平台实时观测系统的CPU使用率:

混沌演练实践(二)-支付加挂链路演练

5.6 演练反馈

检查系统故障发生时候监控手段是否完善,研发人员是否可以根据系统告警,快速的定位并解决问题。检查团队的响应、协同效率。

邮件事故告警:

混沌演练实践(二)-支付加挂链路演练

事故恢复告警:

混沌演练实践(二)-支付加挂链路演练

5.7 环境恢复

场景演练可等待演练时长结束后自行中止,也可根据手工取消、终止演练场景。

演练完成后建议需要重启容器,保证服务恢复正常状态。

5.8 演练复盘

演练结束之后,我们需要对演练进行复盘。不同的故障下,系统的表现以及整体业务场景所受到的影响,演练过程中所发现的问题,需要在复盘报告中呈现出来。

混沌演练实践(二)-支付加挂链路演练

6.总结

链路演练通过提前主动注入故障,发现系统之间的强弱依赖,对链路进行检验,降低生产环境中故障发生的概率。

“居安思危,思则有备,有备无患。”

作者:京东科技 孙民英

内容来源:京东云开发者社区文章来源地址https://www.toymoban.com/news/detail-457170.html

到了这里,关于混沌演练实践(二)-支付加挂链路演练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 助力618-Y的混沌实践之路 | 京东云技术团队

    1、混沌是什么? 混沌工程(Chaos Engineering)的概念由 Netflix 在 2010 年提出,通过主动向系统中引入异常状态,并根据系统在各种压力下的行为表现确定优化策略,是保障系统稳定性的新型手段。 混沌工程是一门在分布式系统上进行实验的学科,目的是建立人们对于复杂系统

    2024年02月14日
    浏览(40)
  • 同创永益入选首批“金融数字韧性与混沌工程实践试点机构”

    8月16日下午,由北京国家金融科技认证中心、北京国家金融标准化研究院联合主办的“传递信任 服务发展”金融科技标准认证生态大会在太原成功举办。中国金融电子化集团有限公司党委书记、董事长周逢民,中国科学院院士冯登国,中国工商银行首席技术官吕仲涛,以及人

    2024年02月11日
    浏览(51)
  • Java 异常处理与正则表达式详解,实例演练及最佳实践

    在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。 当错误发生时,Java 通常会停止并生成错误消息,这个过程称为抛出异常。 try 语句允许您定义一段代码块,并在其中测试是否发生错误。 catch 语句允许您定义一段代

    2024年03月13日
    浏览(33)
  • 支付宝开发问题-“您当前注册的企业账号风险等级过高,根据国家相关法律法则及《支付宝服务协议》规定,我司无法为您提供支付服务”

    这属于支付宝开发最头痛的问题之一 这个问题导致号都开不出来 这个问题最主要的原因是: 法人黑了 其他原因【不重要】: 1.申请前必须拥有经过实名认证的支付宝账户 2.企业或个体工商户可申请(纯个人不能申请) 3.需要提供真实有效的营业执照,且支付宝账户名称需与

    2024年02月07日
    浏览(50)
  • Qt5.14.2 Qt多线程实战演练,全面掌握线程同步和线程池最佳实践

    多线程编程是每个开发者必须掌握的基本能力之一。在上一篇文章中,我们学习了Qt多线程编程的理论知识。本文将切入实战,提供多个案例代码,帮助你彻底掌握Qt的多线程编程实践技巧。 案例1: 使用QThread执行耗时任务 这个案例演示了如何通过继承QThread和重写run()函数,在

    2024年03月20日
    浏览(39)
  • 关于uniapp开发支付宝小程序出现的访问当前页面不存在的情况

    目前使用uniapp开发经常出现的一个问题,点击跳转页面,显示该页面不存在的情况 一开始是因为打包文件过大,导致的编译太慢,也会出现这个问题 我是直接把node_modules里面的那个文件删掉了,先开发再说 后面又出现了这个问题大概就是语法错误的时候也会出现 再一个就是

    2024年02月15日
    浏览(47)
  • 基于云原生网关的全链路灰度实践

    作者: 倪海峰(海迩) 随着企业规模的不断扩大,传统单体应用已很难进一步支持业务的发展,业务的迭代速度已经难以满足业务的增长,此时企业会对应用系统做微服务化的改造,降低业务的耦合度,提升开发迭代的效率,让开发更加敏捷。 系统架构微服务化的,原本的

    2024年02月15日
    浏览(44)
  • Postman 传递当前时间戳最佳实践

    在  Postman  这个广泛使用的 API 开发工具中,常常需要将当前的时间戳嵌入到我们的API请求中。这里有两种主要的做法可以帮助我们实现这一目的,一方面是利用 Postman 自带的函数,另一方面则是通过编写自定义的 Javascript 代码。下面是如何操作的细节。 首先,假设你正在

    2024年04月12日
    浏览(29)
  • 链路追踪在开源SpringBoot/SpringCloud微服务框架的实践

    前期内容导读: Java开源RSA/AES/SHA1/PGP/SM2/SM3/SM4加密算法介绍 Java开源AES/SM4/3DES对称加密算法介绍及其实现 Java开源AES/SM4/3DES对称加密算法的验证说明 Java开源RSA/SM2非对称加密算法对比介绍 Java开源RSA非对称加密算法实现 Java开源SM2非对称加密算法实现 Java开源接口微服务代码框架

    2024年02月09日
    浏览(44)
  • 案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇

    1背景 随着开源社区和云计算的快速推进,云原生微服务作为新型应用系统的核心架构,得到了越来越广泛的应用。根据Gartner对微服务的定义:“微服务是范围狭窄、封装紧密、松散耦合、可独立部署且可独立伸缩的应用程序组件。” 微服务之父,马丁.福勒,对微服务概述

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包