上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

3-蔡铭霞-chaosblade系统高可用的最佳路径.pdf

编号:151992 PDF 34页 7.10MB 下载积分:VIP专享
下载报告请您先登录!

3-蔡铭霞-chaosblade系统高可用的最佳路径.pdf

1、ChaosBlade,系统高可用的最佳路径蔡铭霞(铭少)阿里云研发工程师、开源项目chaosblade maintainer蔡铭霞ChaosBlade MaintainerAliyun Arms 研发工程师混沌工程专家&布道师&可观测研发工程师多年分布式架构经验阿里云-云原生-可观测团队目录CONTENTS!#$%&()*+,-./!#$%&()*+,-./01 012345%&67()89/012345%&67()89/02 ChaosBlade:203 ChaosBlade7;?7;?04 01!#$%&()!#$%&()*+,-./*+,-./redisnginxAlibaba Clou

2、dAwsjavaC+nodejsdockerlinuxk8swindowsgolang架构覆盖多种操作系统应用使用语言多使用丰富的中间件架构部署多元Chaos测试回归不完全强弱依赖导致的级联故障云服务出现问题云服务宅备过程中对业务的影响微服务治理体系的完善程度.可视化监控与运维体系是否健全扩缩容对业务的影响系统层资源配置不合理人为错误的无法避免故障,无法避免1.快速发现问题2.精准定位问题3.根本解决问题02012345%&6012345%&67()89/7()89/Chaos Engineering is the discipline of experimenting on a system

3、 in order to build confidence in the systems capability to withstand turbulent conditions in production.PRINCIPLES OF CHAOS ENGINEERINGChaos解决之道混沌工程是在分布式系统上进行实验的学科混沌工程是在分布式系统上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能目的是建立对系统抵御生产环境中失控条件的能力以及信心。力以及信心。混沌工程原则混沌工程原则ChaosBlade是一个云原生混沌工程平台,支持多种环境、集群和语言。包含混沌工程实验工具 Chao

4、sBlade 和混沌工程平台 ChaosBlade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。-ChaosBlade官网ChaosBlade 混沌工程实验工具03ChaosBlade:2:23000+参数4+4 环境200+场景混沌工程工具ChaosBladeOSProcess RuntimeCpumemorykernelmiddlewarecloud NativeContainer RuntimeDisk/IOFileNetworkProcessScriptTimeServiceJavaGolangC+nodejsnginxredisAlibaba cloudAWSAzur

5、eGcpmysqldockercontainerdCri-oHttpUser ResourceSystemCallcloud service providerPodNodecontainerAdmission injectChaosBlade原子能力详解LinuxWindowsNewNewNew未正式发布已正式发布NewNewChaosBlade工具技术架构bladeChaosBlade OperatorContainer/PodNodeChaosBlade CRwatchchanneldeploy/manageCommandParserExperimentExecutorKubernetes

6、ExecutorOSExecutorJavaExecutorCPUMemoryKernelNetworkDisk.JVM-SandboxJava AgentOtherExecutors.ChaosBlade执行过程Windows能力概要Java Process RuntimeCpumemoryDisk/IOFileNetworkProcesszkUser ResourcehbaseredissontarsjedisjvmmysqlpsqlmsiInstall ModeshellWindows能力详解-agent对探针进行保活配置开机启动交互式参数输入安装Advanced InstallerCh

7、aosBlade-box-agentWindows ServiceControllerregisterWindows能力详解-network原子能力user mode kernel mode Windows network stackWinDivert.dllBlade.lossBlade.delayBlade.duplicaBlade.reorder1.package2.recv3.re-injected packageBlade.lossBlade.delayBlade.duplicaBlade.reorder中间件能力概要微服务系统架构中,会使用很多不同类型的中间件,引入多一种组件,对于

8、系统的稳定性 就多一份风险,所以演练组建可能遇到的问题显得极为重要。中间件能力详解 nginx原子能力nginxcrash/restartpsNginx processkill-9configparsemodify confignginx-s reloadresponseConfig parse找到对应server,并插入 rewrite_by_lua_blockreplace config云厂商能力详解为确保系统稳定性,多云部署变得常见cloud0cloud1云厂商原子能力详解APIAlibaba cloudAWSAzureGcpCommand parseExperiment Executo

9、r Cloud service product sdk04ChaosBlade7;7;?*=?场景强化1.1-5-10持续牵引,强化心智2.实现演练平台和运维应急平台的联合提升1.提升业务极限生存能力2.提升演练基础能力和应急能力目标平台代码变更配置变更开关变更预案变更变更类故障消息发送异常“极限生存”异动类故障微服务服务提供者故障系统资源服务重复调用服务地址不存在规则解析错误无损攻击泛化攻击K8S集群异常服务间依赖A演练平台建设B历史故障复盘C常态化定时演练D与运维应急平台联合F建立应急响应机制强化演练文化心智里程碑组织文化企业落地相互促进ChaosBlade 故障演练平台ChaosBlad

10、eJava场景执行器基础资源场景执行器混沌实验模型NodeJS场景执行器C+场景执行器Docker场景执行器K8S场景执行器流程编排引擎业务故障演练常态突袭演练专场突袭演练1 1分钟发现5 5分钟定位1 10 0分钟恢复文化融合场景对标平台共建统一组织故障发起方业务方接触演练产生认知熟悉演练建立心智专注演练群体共识ChaosBlade落地演练经验库建立故障应急响应机制随时随机发起演练EChaos TargetChaosBlade-Box ServerMigration ChaosBlade-Box Console普通组件:Console:用户界面ChaosBlade-Box Server:后端

11、服务Chaos Engine:演练引擎,包括流程编排、安全管控、演练报告等功能Chaos Runner:演练执行器,兼容多种执行工具Chaos Experinece:演练经验库Plugin Manager:探针管理核心组件:Agent:探针API:对外APIRegistry:向server端进行注册建联Heartbeat:和server端保持心跳Metric:上报k8s内pod相关数据Command Channel:演练命令下发通道ChaosBlade 开源平台部署架构Chaos EngineFlowFunctionSecurityReportPlugin ManagerAnsible App

12、lication managerChaos ToolsHostKubernetesChaos Runner Chaos Model APIChaos Experience ManagerRun Experiment LinuxCloudK8SACKDockerAgentAPIRegistryHeartbeatMetricCommand channelChaosBlade最佳实践1:基础故障演练历史案例:【单机】本地容灾文件异常,导致程序无法启动。【集群】本地磁盘无法读写,缓存类应用程序没有主动隔离服务。【业务】无线端和PC端超时时间不同,导致业务影响。领域痛点:如何更真实的模拟故障,如何控制故

13、障演练的业务影响,如何更有效率的提升演练质量解决方案:故障实验模型,描述常见的故障类型,基于架构和专家经验推荐式演练线上环境隔离技术分布式架构:历史可能出现的故障,在可控范围重放 系统和环境的关系单机硬件、软件、资源异常带来的程序不可用问题系统和系统的关系不恰当的分布式程序设计,带来的服务不可用问题。比如:心跳检查、冗余、降级策略等系统和业务的关系没有结合业务特性设计最佳策略,导致的业务不可用问题。比如:微服务依赖、链路超时、终端容错单机容错集群容错业务容错最佳实践2:业务强弱依赖治理依赖梳理模拟依赖故障结果评估依依赖赖模模型型关系流量强弱业业务务关关键键强弱判断流量构造依赖采集微服务演练:应

14、用依赖关系强弱辅助判断微服务演练:应用依赖关系强弱辅助判断域名依赖识别依赖关系预判报告生成链路构建故障注入依赖生成数据采集数据分析接口级别接口级别应用级别应用级别请求级别请求级别精细化爆炸半径ConnectContext平台业务执行流程历史案例:20102012年,发生多起弱依赖变强依赖的P1P2故障领域痛点:强弱依赖对于架构设计和线上运维非常重要,但是没有明确负责人,缺少工程化跟踪方式,持续成本高解决方案:通过强弱依赖,解决核心应用的强依赖的识别&验证问题依赖自动分析、场景自动生成最佳实践3:中间件演练领域问题:Redis组件主从切换,能否快速进行主从切换 单节点不可用,数据一致性 缓存无法

15、写入后,对业务是否无影响 关键key过期后,是否对业务没有影响 Redis不可用,能否对业务基本没有影响解决方案:对关键key进行降级,以保证其不可用也不会对业务运行有影响 保障集群高可用,快速进行主从切换Redis中间件演练:中间件集群高可用验证及应用对其强弱依赖中间件演练:中间件集群高可用验证及应用对其强弱依赖processmasterHAreplica限制集群大小限制集群大小单个单个key集群不可用集群不可用精细化爆炸半径逐步增大最佳实践4:多云架构演练AWSmasterslavemasterslaveSLBRDSRedisMQECSmasterreplicaHAHAHAmasterslave领域问题:负载均衡SLB 自动主备切换是否符合预期 核心应用层是否具备对称部署能力 业务应用是否具备失败重连机制 MQ内置自动切换是否有效 存储层切换时长&成功率是否符合预期解决方案:通过ChaosBlade对云厂商的云服务进行演练,进行断网或机器重启等Alibaba cloud断网演练恢复复盘容灾评分断网容灾编排容灾预案容灾准入断网执行容灾巡检预检容灾范围容灾评级部署预检配置预检流量预检风险分析容灾监控一键恢复风险暴露容灾报告定时恢复事件恢复流量切换 官网:https:/chaosblade.io/GitHub:https:/

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(3-蔡铭霞-chaosblade系统高可用的最佳路径.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部