首页 小编推荐正文

诈骗罪的立案标准,凭借混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系

在分布式架构环境下,服务间的依靠日益杂乱,或许没有人能说清单个毛病对整个体系的影响,构建一个高可用的分布式体系面临着很大应战。在可控规模或环境下,运用 ChaosBlade 东西,对体系注入各种毛病,持续提高分布式体系的容错和弹性才能,以构建高可用的分布式体系。

ChaosBlade 是什么?

ChaosBlade 是一款遵诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系循混沌工程试验原理,建立在阿里巴巴近十年毛病测试和演练实践根底上天鼎元素服,并结合了集团各桦甸青年事务的最佳构思和实践,供给丰厚毛病场景完成,协助分布式体系提高容错性和可恢复性的混沌工程东西。点击这儿,了解概况。

ChaosBlade 无需编译,下载解压即可运用,支撑根底资源、Java 运用、容器服务类的混沌试验,特点是操作简练、无侵入、扩展性强。

ChaosBlade @GitHu水尧儿b,点击进入

https://github.com/chaosblade-io/chaosblade

下面咱们以微服务分布式体系举例,一步一步构建高可用的分布式体系。

构建高可用的分布式体系

ChaosBlade btkszx的运用办法

ChaoB钟楚武lade 经过 CLI 办法调用,比方咱们模仿 A 服务调用 B 供给的 com.alibaba.demo.HelloService 服务下的 hello薄其红 服务推迟 3 秒,诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系咱们能够在 B 运用上注入推迟毛病,仅需两步操作:

第一步:预备阶段。因为 Java 运用的毛病注入是经过 Java Age诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系nt 机制完成,所以首先要先挂载 agen赵英胜t,履行的指令是 blade prepare jvm --process

第二步:履行阶段,注入毛病。履行指令是 blade cre龙应台老二子菲利普ate dubbo delay --time 3000 --service com.alibaba.demo.HelloService --methodname hello --provider,即对 B 服务供给方供给的 com.alibaba.demo.HelloService#hello 服务注入 3 秒推迟。

ChaosBlade 运用简练,假如想了解指令的怎么运用,可在指令后边添加 -h 参数,比方 blade create dubbo delay -h。更具体的 chaosblade 操作,可详见新手攻略

https://github.com/chaosblade-io/chaosblade/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97

分布式体系高可用准则

高可用的分布式体系一般需求满意以下准则:

  • 失利重试
  • 实例阻隔
  • 恳求限流
  • 服务降级
  • 服务熔断
  • 流诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系量调度
  • 开关&预案
  • 监控告警
  • 日志盯梢

混沌试验场景实践

咱们以 A 调用妈妈鲁 B,B 调用 C,A 一起也调用 D 举例,A1、A2 是 A 服务的多个实例,顺次类推。

失利重试

试验场景:诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系调用下流服务实例反常。

容错计划:会再次恳求别的一个服务实例进行重试。

场景模仿:对 B1 注入反常毛病,A 服务调用到 B1 时会呈现调用失利。

预期计划:体系会将 A 服务的恳求路由到 B2 进行重试。

blade 指令:blade c dubbo th昆仑燃气24小时电话rowCustomException --exceptio只为她袖手全国n --service --provider

修正计划:添加失利检测和恳求重试才能。

实例阻隔

演练场景:屡次调用下流一个服务实例诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系超母女照时。

容错计划:会阻隔或许下线此服务实例,避免恳求路由到此服务实例。

场景模仿:对 B1 注入推迟毛病,A 服务调用到 B1 时,呈现调用超时。

预期计划:体系会主动阻隔或下线 B1 实例。

blade 指令:blade c dubbo delay --time --servi百万发文娱渠道登录ce --provider

修正计划:添加服务质量检查,下线不行用的服务实例。

恳求限流

演练场景:服务线程池满。

容错计划:会对进口流量进行限流,避免恳求堆积,资源耗尽导致服务不行用。

场景模仿:对 A 注入线程池满毛病。

预期计划:线程池满时,触发限流,新恳求快速失利。

blade 指令:blade c dubb穿越之长媳之路o threadpoolfull --consumer

修正计划:添加限流才能。

服务降级

演练场景:A 对 B 是强依靠,对 D 是弱依靠,A 调用 D 线程数多,争抢调用 B 服务的资源。

容错计划:对弱依靠 B 进行降级,削减资源分配。

场景模仿:对 A 注入调用 D 线程数满毛病。

blade 指令:blade c dubbo threadpoolfull --service 星星物语--consumer

修正计划:整理服务依靠,添加服务降级才能。

调用熔断

演练场景:下流服务不行用

容错计划:触发熔断,快速失利回来

场景诈骗罪的立案规范,凭仗混沌工程东西 ChaosBlade 构建高可用的分布式体系,太阳系模仿:对 B 服务所有的实例注入推迟超时毛病。

blade 指令:blade c dubbo delay --time --service --provider

修正计划:当下流服务不行用时,能当即熔断,快速失利。

流量调度

演练场景:上游高并发下,扩容下流服务,在服务实例初始化时,CPU 负载高,导致上游服务受影响

容错计划:当服务实例机器负载高时,主动切流到正常机器

场景模仿:对 B1 做 CPU 满载操作。

blade 指令:blade c cpu fullload

修正计划:添加体系、运用资源监控和流量调度才能。

体系预案

演练场景:杀掉服务实例。

容错计划:快速拉起或扩容

场瑞骐金服景模仿:杀掉 B 大部分实例。

blade 指令: blade create process kill --process

修正计划伟人卡里和姚明合照:添加相关体系预案。

监控告警

注入恣意毛病,验证监控告警的有用性

日志盯梢

演练场景:修正运用中具体办法回来值。

容错计划:全链路调用日志记载。

场景模仿:修正 B 服务的一个事务办法的回来值。

b综琼瑶之甜心的悲喜人生lade 指令:blade c jvm return --classname --methodname --value

修正计划:添加全链路日志记载,便于排查和追溯问题。

总结

经过 ChaosBlade 东西能简练有用的履行混沌试验,上文说到的恳求限流、降级熔断功用能够运用 Sentinel 来处理。阿里云 AHAS 产品现已集成混沌工程渠道 和 Sentinel 功用。ChaosBlade 除了上述试验场景,还有更多的场景期小小男儿狼待你来发掘。

后续规划

ChaosBlade 后续会持续增强对 Java 生态的混沌试验,比方对 Redis、GRPC、RabbitMQ 等干流组件的支撑。也会添加云原生设备的混沌试验,比方 Kubernetes、Service Mesh 等。

参加奉献

欢迎参加 ChaosBlade 社区,参加混沌工程生态建设,奉献不局限于代码,也能够是主意、文档、和社区答疑、评论。

作者:中间件小哥

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。