当前位置:网站首页>Chaosblade: introduction to chaos Engineering (I)
Chaosblade: introduction to chaos Engineering (I)
2022-07-07 08:59:00 【Fairy Xiao Xiaole】
brief introduction
With the popularity of microservices and container technology , With the help of Kubernetes
The container choreography ability of , The difficulty of deploying a distributed system is getting lower and lower . But what follows is an increasingly complex system , And increasingly difficult system reliability testing , Sometimes it's just an interface failure , It may lead to the avalanche of the whole system . In the avalanche , It is also very difficult to find the interface that initially failed , Because mistakes are reported everywhere .To solve these problems , In addition to continuously reducing the coupling of services , Establish a powerful monitoring system and set the fuse 、 Strategies such as current limiting , Then chaos engineering appeared
What is chaos Engineering
According to the principle of chaos Engineering (PRINCIPLES OF CHAOS ENGINEERING)[1]: Chaos engineering is the subject of experiments on distributed systems ,
The purpose is to build the ability and confidence of the system to resist out of control conditions in the production environment .
The development of large-scale distributed software systems is changing software engineering . As an industry , We soon adopted the practice of improving development flexibility and deployment speed . But with these advantages , An urgent problem has arisen , That's it : How much confidence do we have in complex systems put into production ?
Even if all individual services in the distributed system are running normally , But the interaction between these services can also lead to unpredictable results . These unpredictable results ,
It is compounded by rare and destructive events that affect the production environment , These distributed systems are inherently chaotic .
Before abnormal behavior occurs , Identify these weaknesses throughout the system . These weaknesses include the following forms :
Incorrect rollback settings when the service is unavailable Retry storm caused by improper timeout setting Service interruption due to downstream dependent traffic overload Cascading failure at single point of failure, etc
Before these weaknesses are exposed to users through the production environment , We must actively find these important weaknesses . And a method is needed to manage the inherent chaos of these systems ,
Increase our confidence in the deployment of production environments by increasing flexibility and speed , Although the complexity of the system is caused by these deployments .
Based on experience and systematic methods, the problems caused by the scale growth of distributed systems are solved ,
And build the ability and confidence of the system to resist these events . Understand the characteristics of distributed systems by observing their behavior in controlled experiments , We call it chaos engineering .
ChaosBlade[2] The blade of chaos , Alibaba is an open source experiment injection tool that follows the principle of chaotic engineering and chaotic experimental model , Is an internal project
MonkeyKing
Open source projects , It is based on Alibaba's fault test and drill practice in recent ten years , Combining the best ideas and practices of the group's businesses . It aims to help enterprises improve the fault tolerance of distributed systems , And provide business continuity guarantee in the process of enterprise going to the cloud or migrating to the cloud native system .
Currently supported scenarios are : Basic resources 、Java application 、C++ application 、Docker Containers and Kubernetes
platform . The project encapsulates the scenario into a separate project according to the domain implementation , It can not only standardize the implementation of scenarios in the field , And it is very convenient to expand the scene horizontally and vertically , By following the chaotic experimental model , Realization chaosblade cli Unified call .
The project experience is excellent , Only one executable is needed blade, You can complete experiments in various scenes ( Some complex scenes such as Java
Applied experiments , You need relevant tool kits ), At the same time, if you don't want to download chaosblade tool kit , Quick experience chaosblade, You can pull docker
Mirror and run , Experience in the container .
Project on 2020 year 5 month 27 The latest was released on the th v0.6.0[3] edition , The whole practice of this series of articles will also be based on this version and the repaired version of this version
v0.6.x Conduct .
ChaosBlade-Operator
ChaosBlade-Operator yes ChaosBlade Of Kubernetes
Platform experiment scenario implementation , It is also the main tool used in this series of articles . It passes the chaos experiment Kubernetes The standard CRD Mode definition , Easy to use
Kubernetes Resource operations to create 、 to update 、 Delete the experiment scenario , Including the use of kubectl、client-go
And so on , And you can also use the chaosblade cli Tool execution .
边栏推荐
- 串口實驗——簡單數據收發
- Golang etcdv3 reports an error. The attribute in grpc does not exist
- PPT模板、素材下载网站(纯干货,建议收藏)
- 硬核分享:硬件工程师常用工具包
- Count the number of words in the string c language
- Ppt template and material download website (pure dry goods, recommended Collection)
- H3C VXLAN配置
- 求有符号数的原码、反码和补码【C语言】
- 【ChaosBlade:节点磁盘填充、杀节点上指定进程、挂起节点上指定进程】
- With an annual salary of 50W, Alibaba P8 will come out in person to teach you how to advance from testing
猜你喜欢
Explain Huawei's application market in detail, and gradually reduce 32-bit package applications and strategies in 2022
The essence of high availability
Unityshader introduction essentials personal summary -- Basic chapter (I)
Goldbach conjecture C language
Markdown editor Use of MD plug-in
Esp32-ulp coprocessor low power mode RTC GPIO interrupt wake up
[step on the pit] Nacos registration has been connected to localhost:8848, no available server
Panel display technology: LCD and OLED
Output all composite numbers between 6 and 1000
面板显示技术:LCD与OLED
随机推荐
Greenplum 6.x monitoring software setup
How to add a mask of a target in a picture
Sign and authenticate API interface or H5 interface
【istio简介、架构、组件】
Greenplum6.x搭建_安装
Recommended by Alibaba P8, the test coverage tool - Jacobo is very practical
2022-06-30 Unity核心8——模型导入
Markdown editor Use of MD plug-in
【ChaosBlade:根据标签删除POD、Pod 域名访问异常场景、Pod 文件系统 I/O 故障场景】
硬核分享:硬件工程师常用工具包
Introduction to data fragmentation
寄存器地址名映射
Gson converts the entity class to JSON times declare multiple JSON fields named
Category of IP address
Led analog and digital dimming
Interpretation of MySQL optimization principle
Analysis of Hessian serialization principle
Several common database connection methods
Screen automatically generates database documents
Data analysis methodology and previous experience summary 2 [notes dry goods]