dubbo学习笔记(七) 集群和访问方式

 

dubbo如何集群,同一个服务部署多台机或者同一台机不同端口在注册中心注册。客户端就通过访问规则访问集群内的不同节点的服务。

 
集群策略
Failover Cluster :失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)
Failfast Cluster :快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作
Failsafe Cluster : 失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作
Failback Cluster : 失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
Forking Cluster : 并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作
Broadcast Cluster : 广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态
 
集群访问策略
Random LoadBalance : 随机,按权重设置随机概率(推荐使用)
RoundRobin LoadBalance : 轮循,按公约后的权重设置轮循比率
LeastActive LoadBalance : 最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求。
ConsistentHash LoadBalance : 一致性Hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动
 
声明需要暴露的服务接口
 <!-- 声明需要暴露的服务接口 -->
    <!--loadbalance="random"  随机,按权重设置随机概率。-->
    <!--loadbalance="roundrobin"  轮循,按公约后权重设置轮循比率。-->
    <!--loadbalance="LeastActive"  最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。-->
    <!--loadbalance="ConsistentHash"  一致性Hash,相同参数的请求总是发到同一提供者。-->
    <dubbo:service interface="com.hwz.demo.DemoService" ref="demoService" cluster="failsafe"  loadbalance="random />
 
 
note:
集群只需多个相同服务注册相同的注册中心。在每个服务器端的节点服务配置相同集群策略和访问策略。对于客户端是透明。客户端通过框架决定访问那个服务节点。客户端通过注册中心提供的服务端的协议信息,客户端决定访问那个节点
 
 

你可能感兴趣的:(集群,DUBBO)