dubbo 常用配置

本文详细介绍了Dubbo的常用配置,包括多版本支持,如version1.0和version1.0.1的隔离;主机绑定,确保服务注册的IP地址正确;负载均衡策略,如Random、RoundRobin和LeastActive等;集群容错机制,如failsafe、failover和failfast等;配置的优先级,客户端配置优于服务端,并按方法、接口和全局级别设置;以及服务降级,通过Mock策略保证核心服务的可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、多版本支持

       多版本支持  veresion1.0 , version1.0.1 可以做版本隔离,

Server端配置

Client 端配置

zk注册中心的服务节点:

2、主机绑定

[dubbo://192.168.2.105:20880%2Fcom.gupao.edu.dubbo.IGpHello%3Fanyhost%3Dtrue%26application%3Ddubbo-server%26dubbo%3D2.5.3%26interface%3Dcom.gupao.edu.dubbo.IGpHello%26methods%3DsayHello%26owner%3Dmic%26pid%3D16730%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1580894926755%26version%3D1.0.0, dubbo://192.168.2.105:20880%2Fcom.gupao.edu.dubbo.IGpHello2%3Fanyhost%3Dtrue%26application%3Ddubbo-server%26dubbo%3D2.5.3%26interface%3Dcom.gupao.edu.dubbo.IGpHello%26methods%3DsayHello%26owner%3Dmic%26pid%3D16730%26revision%3D1.0.1%26side%3Dprovider%26timestamp%3D1580894929777%26version%3D1.0.1]

主机绑定指的是绑定,dubbo的服务注册节点的地址 即标红的地址

  1. 从配置文件中获取host: NetUtils.isInvalidLocalHost(host).
  2.  若配置文件中获取的host是非法的,从网卡(本地地址)中去获取:host = InetAdress.getLocalHost().getHostAdress();
  3. 若网卡中的host也是非法的,会获取注册中心的地址,循环遍历地址,最后通过socket去产生一个连接,在通过socket去获取本地的地址
  4. 若还拿不到 host调用getLocalAddress,遍历本地网卡返回合理 Ip           

     主机绑定有四个过程,是中断的(即进入第一步拿到了后续的步骤就不会执行了),所以会存在发布服务的ip地址与期盼的ip地址不一样。

     默认情况下,dubbo支持不同协议提供了主机不同端口号的绑定dubbo:20880,rmi:1099,http:80,hessian:80,webService:80

3、负载均衡

       RandomLoadBalance   随机调用负载均衡

      RoundRobinLoadBlance   轮询调用

      LeastActiveLoadBlance    最小活跃数调用法

      ConsistentHashLoadBalance   一致性hash算法           

4、集群容错

   容错机制:是指在系统的控制范围内,允许或者包容某些错误的发生

   各个服务节点直接存在依赖关系,一个节点出现故障将会导致雪崩。

    dubbo 中提供六种容错机

  1.    failsafe   失败安全,如果当前请求失败后,它会记录这个请求,定时去重发,将这个错误吞掉(会记录日志)。
  2.    failover (默认)   如果出现失败回去重试其他服务器。retries(默认值为2,不包含第一次,即总共三次) 重试次数
  3.    failfast  快速失败,只要失败后立马报错。
  4.    failback  失败后自动恢复。(恢复表示会在某一个地方记录失败请求,在定时重发)  
  5.    forking  并行访问,只要有一个返回成功,就表示成功。forks 设置并行数
  6.    broadcast  广播任意一台报错,则执行的方法报错

集群容错通过cluster来配置

5、配置的优先级

    客户端(customer)的配置优于服务端(server)

   1、方法级别优先,然后是接口,最后是全局配置

    2、如果级别一样客户端优先

    retires(重试次数 在客户端配置)、LoadBanlance(负载均衡 在服务端配)、cluster(容错机制  在客户端配)、timeout(超时时间,在服务端配置)

6、服务降级

      降级的目的是为了保证核心服务可用。核心的服务不会降级,只会降级和当前流程没有关系的方式。主要的目的就是关闭一些服务提升整个架构的吞吐量。

     dubbo的降级方式:Mock,如果服务端出现网络异常或者挂掉的情况下,他回去调用默认的一个Mock机制去完成一个对应的返回。 Mock 是客户端的一个策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值