Dubbo功能特性
高可用
Zookeeper宕机,还可以消费dubbo暴露的服务。
监控中心挂掉不影响使用,只是丢失了部分采样数据 数据库宕掉,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务 注册中心对等集群,一台宕掉,切换另一台 注册中心全部挂掉,服务提供者和服务消费者仍能通过本地缓存通讯 服务提供者无状态,任意一台挂掉,不影响使用 服务提供者全部挂掉,服务消费者将无法使用,将无限重连等待服务提供者恢复 另外Dubbo还可以通过@Refence(url="")设置直连服务提供者。
负载均衡
Dubbo提供了多种均衡策略,缺省为random。
Random:随机。(按照权重) RoundRobin:轮询。(按照权重) LeastActive:最少活跃调用数。慢的提供者收到更少的请求。 ConsistenHash:一致性哈希。相同参数的请求总是发送到同一个提供者 通过后台可以调增权重
服务降级
当服务器压力剧增的情况下,根据实际业务及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作。
屏蔽:调用直接返回为null 容错:当远程调用失败时,才返回null
集群容错
集群调用失败时,Dubbo提供了多种容错方案,缺省为failover。<dubbo:service cluster=“failover”> failover:失败自动切换,当出现失败,调用其他服务器。
实际生产环境中,通常整合Hystrix来进行服务容错。
@EnableHystrix @HystrixCommand(fallbackMethod=“出错时调用的方法”)