1、做一个混沌工程相关简单意义:软件支持。现在构建的分布式环境比较多,微服务构建起来的。有可能单个服务拿出来看都是OK的.(经过单元测试、系统测试等),整个系统一旦复杂起来,保不齐会出现一些bug、一些问题。混沌工程最早由 Netflix 在 2008 年开始实践,通过实践。提高系统韧性架构,在你的生成环境上注入些异常、故障等。来看你的系统韧性足不足,可用性高不高,搞这种破环。国外厂商开源了一个AWS chaosToolkit 混沌实验工具集action 杀掉某个服务probe 探针(插一根针去看系统的属性去看)第一个根探针:{ "type": "probe", "name": "<====System GetData Interface Test====>", # 容忍范围 解析body "tolerance": { "type": "jsonpath", "path": "\$.data", "expect": "Handle the get http request method", "target": "body" }, # 发起http请求 "provider": { "type": "http", "timeout": 20, "verify_tls": false, "url": "http://localhost:5000/getData" } },执行chaos run 报错具体错误:ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.原因:环境中已经存在某个版本的PyYAML,因此简单的pip指令并不能更新或者删除该包解决方案:忽略已安装的PYYAML包,重新安装指令:pip install PyYAML --ignore-installed总结:发现一个问题,根据问题探讨一个可行性的解决方案,再把这个方案实施起来。 然后通过这个混沌工程来检测他到底能没能解决这个问题。如果能解决就ok,bugs就finsh了。
网友评论