Dubbo的高可用性
zookeeper宕机
zookeeper注册中心宕机,还可以消费dubbo暴露的服务
1、注册中心是一个集群,一台宕掉之后,可切换到另外一台
2、注册中心全部宕掉,服务provider和服务consumer可以通过本地缓存通讯
dubbo直连
服务consumer可以不通过注册中心获得服务provider的信息,可以采用dubbo直连,例如
@Reference(url=“ip:port”)
dubbo的负载均衡
dubbo提供多种策略(默认Random)
Random LoadBalance(基于权重的负载均衡,访问随机,考虑权重)
RoundRobin LoadBalance(基于权重的轮训的负载均衡,访问有顺序,考虑权重)
LeastActive LoadBalance(最少活跃调用数,调用最快的provider)
ConsistentHash LoadBalance(一致性hash)
http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html
服务降级
当服务器压力增加的时候,对部分不重要的业务不处理或者简单处理,保证核心业务的正常运行
- mock=force:return+null 表示消费方对该服务的方法调用都直接返回 null 值,不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响。
- mock=fail:return+null 表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响。
容错
容错方案
http://dubbo.apache.org/zh-cn/docs/user/demos/fault-tolerent-strategy.html
(可使用hystrix)