容错、负载均衡、降级
容错
模式 | 说明 |
---|
failover | 失败自动切换。当服务调用失败之后,切换到集群其他机器重试默认重试2次(retroes=2) 事务操作会带来重复提交问题 |
failfast | 快速失败,当微服务调用失败之后,立即报错,也就是只发起一次调用。幂等操作 |
failsafe | 失败安全,出现异常直接忽略 |
failback | 失败后自动回复。服务调用出现异常,后台记录这条失败请求重发。用于消息通知操作,保证这个请求一定发送成功 |
forking | 并行调用集合中的多个服务,只要又个返回成功。(forks=2)设置最大并行数。 |
broadcast | 广播用所有的服务提供者,任意一个服务报错则表示服务调用失败。常用于更新本地缓存,资源信息 |
@Service( cluster = failfast )
class haha(){}
负载均衡
策略 | 说明 |
---|
Random | 随机 |
RoundRobin | 轮询 |
LeastActive | 最少活跃调用,速度慢的节点收到更少请求 |
ConsistentHash | 一致性Hash |
@Service( cluster="failfast" , loadbalance="roundrobin" )
服务降级
class MockHaHa implements IHaHa(){
@Override
String IHello(){ return "降级";}
}
@RestController
class HaHa(){
@Reference( mock = com...MockHaHa, cluster = "failfast")
IHaHa haha;
@GetMapping
String IHello(){return "正常";}
}