几周前发生了一个较为严重的线上问题,少量用户在打开App会出现白屏。这两周一直在思考如何针对这种隐藏很深的特定条件下触发的缺陷进行测试和预防。本文结合在金融App的特定业务场景下,进行思考如何使用业务异常注入的方式,快速、高效、可行的保障App版本质量。通过思考总结了四种常见的注入方式,本文从易于理解的角度进行分析总结,不可能面面俱到,仅提供一种思考方式供大家参考,期待同行能够提出更多建议。基于输
转载
2024-02-06 11:08:48
65阅读
随着Agile和DevOps的持续推进,开发人员获得了软件服务交付更多的权力,交付速度越来越快。在这种持续变更的现实中,随着交付速度的提升和云原生架构的广泛应用,更多的微服务意味着更多的风险。因为持续且频繁的变更本身就有风险,只不过单次的风险比以前下降了,但由于服务依赖的复杂性带来更棘手的牵一发动全身的级联风险。有句技术黑话:新技术的应用,往往是把一个空间的问题转移到了另一个空间。前一个空间已有的
转载
2024-02-05 21:21:11
57阅读
混沌测试基础混沌测试是一种可试验的、基于系统的方法来处理大规模分布式系统中的混乱问题。通过不断试验,了解系统
原创
2022-11-08 18:46:17
2467阅读
混沌测试基础混沌测试是一种可试验的、基于系统的方法来处理大规模分布式系统中的混乱问题。通过不断试验,了解系统的实际能承受的韧性边界并建立信心,通过不同的试验方法和目的,观察分布式系统的行为和反应。一句话——以试验的方法尽早揭露系统弱点。混沌测试类似于“故障演练”,不局限于测试,而更像是工程实践。为什么这么说,通常的测试用例会有“期望结果”和“实际结果”,通过将两个结果比较,或者对用户行为的预期,来
转载
2024-01-08 13:43:43
89阅读
混沌工程的目标 – 实现韧性架构混沌工程就是利用实验提前探知系统风险,通过架构优化和运维模式的改进来解决系统风险,真正实现上述韧性架构,降低企业损失,提高故障免疫力。韧性架构的重要特征冗余性扩展性不可变基础设施无状态应用避免级联故障基础设施即代码混沌工程的可行性评估模型在执行混沌工程实验时,我们需有一个通用的标准来,判断这个实验可不可行,做得好不好。混沌工程的可行性评估模型,结合了亚马逊和Netf
转载
2024-06-07 22:02:42
47阅读
Chaos Mesh 是一个云原生的混沌测试平台,在去年的最后一天,我们开源了这个项目,以帮助大家更好的进行混沌实验。从开源到现在近一年的时间里,Chaos Mesh 在所有贡献者的共同努力下,在不断完善新功能的同时,也在易用性和稳定性上取得了阶段性的成果。今天,我们自豪的宣布 Chaos Mesh 1.0 正式发布!Chaos Mesh 1.0 是一个里程碑,不仅支持更多混沌注入的类型,提高了框
混沌测试是一种基于系统状态的测试方法。通过对系统状态进行测量,可以测试系统在不同条件下的运行状态,这是测试过程的基础。随着时间的推移,系统可以经历从不确定的转变。当新系统在使用过程中出现故障时,需要重新评估其性能并重新确定其在实际环境中是否稳定持续。该方法是根据已知的系统状态对系统进行测试并记录其变化趋势,以了解系统在实际应用中的表现。混沌测试类似于“故障演练”,不局限于测试,而更像是工程实践。1
为什么需要混沌工程。应用混沌工程能提升整个系统的弹性。通过设计并且进行混沌实验,我们可以了解到系统脆弱的一面,在还没出现对用户造成伤害之前,我们就能主动发现这些问题。混沌工程其实是很重要的,但我之前一直以为混沌工程就是测试,但它们还是有区别的。虽然混沌工程跟传统测试通常都会共用很多测试工具的,譬如都会使用错误注入工具,但混沌工程是通过实践对系统有更新的认知,而传统测试则是使用特定方式对某一块进行特
转载
2024-03-13 21:54:37
74阅读
介绍这是Dapr在全天候运行的应用程序中保持Dapr可靠性至关重要。在部署真正的应用程序之前,可以通过在受控的混沌环境中构建,部署和操作此类应用程序来实现这种信心。测试应用程序所测试应
原创
2022-10-08 13:16:38
5086阅读
本文作者:CODING - 廖红坤前言随着微前端、微服务等技术理念和架构的蓬勃发展,我们已经没必要去讨论为什么要前后端分离这种话题,前后端分离已成为互联网项目开发的标准模式。前后端在各自的领域发展越来越纵深。DevOps 视角的前后端分离今天我们换个视角,从 DevOps 的角度来聊聊前后端分离。项目协同DevOps 体系中包含了敏捷开发方法论,而前后端分离前的开发模式无法做到敏捷。开发过程中前后
在Kubernetes(简称K8S)中,混沌测试是一种通过引入混沌和随机性来模拟系统在非理想条件下的运行状态,以验证系统的稳定性和可靠性的测试方法。混沌测试可以帮助我们发现系统中的薄弱点,提高系统的鲁棒性。
下面我将向你介绍如何在Kubernetes中实现混沌测试,并通过一些简单的步骤和示例代码来演示。
### 步骤概览:
| 步骤 | 操作 |
| :---: | --- |
| 1 |
原创
2024-03-01 10:40:31
97阅读
什么是混沌 在分布式计算领域,我们无法预测集群将会发生什么,一切皆有可能。在里约热内卢飘舞的蝴蝶可能会改变芝加哥的气候,甚至摧毁位于开罗的数据中心。网络时间协议(NTP)可能出现不同步,CPU 可能会无缘无故地爆表,或更糟糕的是,勤劳的 DBA 可能会在半夜意外地删除数据。 TiDB 是一款开源的分
转载
2021-07-22 11:28:21
843阅读
混沌工程(Chaos Engineering)在分布式系统上进行实验的学科,通过主动注入故障的方式,提前发现系统的薄弱点,推进架构的改进,最终实现业务韧性。从而避免故障在线上运行环境上发生。
作者:铭少混沌工程是什么系统架构经历了单机到分布式,再到现在的云原生架构,其复杂度不断上涨,问题定位的难度也随之上涨。面对随时都可能发生的故障,有没有什么的办法能很
PHP 和
Python 语言
中引用是非常重要的一个概念,这个概念对于理解两门语言非常重要,会让你更深刻的认识到两门语言的本质,所以简单的谈一谈。先说结论,Python 语言中一切都是对象,理解起来觉得更合理;PHP 则是混搭机制,对于引用的处理让人很困惑。
Python 中的引用
在 Python 中一切都是对象,整型值、字典、元祖都是对象,连函数、类本身也是对象,
转载
2023-11-28 10:27:33
61阅读
混沌工程是在系统上进行实验的学科,目的是建立对系统承受生产中动荡条件的能力的信心。大规模分布式软件系统的进步正在改变软件工程的游戏规则。作为一个行业,我们迅速采用提高开发灵活性和部署速度的做法。紧随这些好处之后的一个紧迫问题是:我们对投入生产的复杂系统有多少信心?即使分布式系统中的所有单个服务都正常运行,这些服务之间的交互也会导致不可预测的结果。不可预测的结果,加上影响生产环境的罕见但具有破坏性的
原创
2022-10-09 14:01:49
255阅读
作者: 数据源的TiDB学习之路 背景介绍分布库数据库架构一般采用性价比较高的PC服务器作为底层硬件支撑,相比于传统昂贵的、高可靠的集中式架构(如IOE架构),面临着节点故障、网络故障等多方面故障
原创
精选
2024-03-29 16:36:16
485阅读
混沌现象的定义 混
原创
2022-09-21 09:59:04
223阅读
首先我们介绍三个概念:同胚、拓扑共轭和混沌。1、同胚如果一个映射是一对一的映射、又是满映射,并且是连续的,我们称这个映射为同胚。2、拓扑共轭设f:A->A及g:B->B为两个映射,如果存在一同胚h:A->B ,使得h°f=g°h,则称f和g是拓扑共轭的。3、混沌的概念设 V 是一度量空间,X,Y 是 V上的任意开子集,一个连续映射 f:V→V,若满足下面 3 个&nb
转载
2023-07-06 21:16:56
882阅读
ChaosBlade-box 简介ChaosBlade 是阿里开源的混沌工程品牌,包含 chaosblade 工具和 chaosblade-box 平台等项目。ChaosBlade 按照混沌工程的思想,将故障抽象成了一个个实验,并按照科学实验的方法对其过程进行组织。chaosblade 工具支持了大量的故障场景和丰富的命令参数,能够很方便地对常见故障场景进行实验 (一)配置ChaosBlade1.
转载
2023-11-06 13:31:36
197阅读
Kubernetes(简称K8S)是Google开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。通过使用K8S,我们可以轻松地管理和调度容器,实现高可用性和弹性的微服务架构。在本文中,我将向你介绍如何使用K8S来实现“k8s pod微服务混沌测试”。
## 整体流程
下面是实现“k8s pod微服务混沌测试”的整体流程:
| 步骤 | 描述 |
| --- | --- |
|
原创
2024-01-15 12:17:27
121阅读