文章目录
第五章 使用 Spring Cloud 和 Netflix Hystrix 的客户端弹性模式
本章主要内容
- 实现断路器模式、后备模式和舱壁模式
- 使用断路器模式来保护微服务客户端资源
- 当远程服务调用失败时使用 Hystrix
- 实施 Hystrix 的舱壁模式来隔离远程资源调用
- 调节 Hystrix 的断路器和舱壁的实现
- 定制 Hystrix 的并发策略
5.1 什么是客户端弹性模式
客户端弹性模式的重点是,在远程服务发生错误或表现不佳时保护远程资源(另一个微服务调用或者数据库查询)的客户端免于崩溃。这些模式的目标是让客户端“快速失败”,而不消耗诸如数据库连接和线程池之类的宝贵资源,并且可以防止远程服务的问题向客户端的消费者进行“上游”传播。
有 4 种客户端弹性模式,它们分别是:
- 客户端负载均衡(client load balance)模式;
- 断路器(circuit breaker)模式;
- 后备(fallback)模式;
- 舱壁(bulkhead)模式。
5.2 为什么客户端弹性很重要
5.3 进入 Hystrix
5.4 搭建许可服务器以使用 Spring Cloud 和 Hystrix
5.5 使用 Hystrix 实现断路器
5.6 后备处理
断路器模式的一部分美妙之处在于,由于远程资源的消费者和资源本身之间存在“中间人”,因此开发人员有机会拦截服务故障,并选择替代方案。