分布式--Dubbo常用配置

本文详细介绍了Dubbo框架中服务启动检查、负载均衡策略、多协议与多版本服务、服务分组以及令牌验证等核心功能,帮助开发者掌握Dubbo服务治理的关键技术。

启动时检查
 Dubbo缺省会在启动是检查依赖的服务是否可用,不可用是会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。
 通过check="false"关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。
 关闭某个服务的启动时检查
<dubbo:reference interface="com.foo.BarService" check="false" />
 关闭所有服务的启动时检查
<dubbo:consumer check="false"/>
 关闭注册中心的启动时检查
<dubbo:registry check="false"/>
Dubbo负载均衡配置
Dubbo提供了多种均衡策略,缺省为random随机调用

  1. Random LoadBalance(随机模式)默认使用这个
     随机,按权重设置随机概率。
     在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀。
  2. RoundRobin LoadBalance(轮询模式)
     按公约后的权重设置轮询比例。但存在响应慢的服务提供者会累积请求。
  3. LeastActive LoadBalance(最少活跃调用数)
     响应快的提供者接受越多请求,响应慢的接受越少请求。
  4. ConsistentHash LoadBalance(一致hash)
     根据服务提供者ip设置hash环,携带相同的参数总是发送的同一个服务提供者,若服务挂了,则会基于虚拟节点平摊到其他提供者上。

多协议

  1. 不同服务不同协议
  2. 多协议暴露服务


多版本
 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互之间不引用。
 在低压力时间段,先升级一半提供者为新版本,再将所有消费者升级为新版本,然后将剩下的一半提供者升级为新版本。

<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" version="1.0.0"/>
<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" version="2.0.0"/>
<dubbo:reference id="helloService1" interface="com.cloudhouse.dubbo.service.HelloService" version="1.0.0"/>
<dubbo:reference id="helloService2" interface="com.cloudhouse.dubbo.service.HelloService" version="2.0.0"/>

 不区分版本,随机访问服务提供者的方法:

<dubbo:reference id="helloService" interface="com.cloudhouse.dubbo.service.HelloService" version="*"/>



服务分组
 当一个接口有多种实现时,可以用group区分,服务分组是dubbo用来区分相同接口名,但是方法具体实现不同的一种模式。

<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" group="alipay"/>
<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" group="wechatPay"/>
<dubbo:reference id="helloService1" interface="com.cloudhouse.dubbo.service.HelloService" group="alipay"/>
<dubbo:reference id="helloService2" interface="com.cloudhouse.dubbo.service.HelloService" group="wechatPay"/>

 不区分组,总是只调一个可用组的服务提供者的方法:

<dubbo:reference id="helloService" interface="com.cloudhouse.dubbo.service.HelloService" group="*"/>


令牌验证

  1. 用途:防止消费者绕过注册中心访问提供者
  2. 配置:
     在服务级别设置:
<!--随机token令牌,使用UUID生成-->
<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" token="true" />
<!--固定token令牌,相当于密码-->
<dubbo:service interface="com.cloudhouse.dubbo.service.HelloService" token="123456" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值