二、dubbo高级特性使用

1、启动时检查

  • check=true,检测到某接口没有提供者时,抛异常,阻止系统启动, reference对象置null,在系统测试阶段,开启可快速发现问题。reference对象为空,则即使后续补进了provider,也不能补救
  • 2、 check=false,不检测接口是否有提供者,直接为reference生成代理对象只要后续补入provider,程序会自动探测到,线上正式环境使用

2、集群容错配置

  • Failover :当出现失败,重试其它服务器。 retries=“2” 来设置重试次数(不含第一次)。幂等性操作使用,如读操作
  • Failfast :快速失败,只发起一次调用,失败立即报错,非幂等性操作,如写操作
  • Failsafe :出现异常时,直接忽略无关紧要的旁支操作,如打日
  • Failback :后台记录失败请求,定时重发。后续专业处理
  • Forking :并行调用多个服务器,只要一个成功即返回
    forks=“2” 来设置最大并行数
<dubbo:consumer cluster="failover” retries="2" forks="2" />

3、负载均衡配置

<dubbo:consumer   loadbalance="random"/>
  • Random :按权重随机------根据weight值(服务方设置)来随机
  • RoundRobin :轮询
  • LeastActive :最少活跃数(正在处理的数)慢的机器,收到的请求少

4、只订阅/只注册

禁止注册register=“false“/禁止订阅subscribe=“false”

5、服务分组

group=“xxx"
使用一个注册中心,分出多个环境,各自互不影响

6、结果缓存

<dubbo:reference  interface="com.enjoy.service.ProductService" cache="lru"/>
  • lru :基于最近最少使用原则删除多余缓存
  • threadlocal :当前线程缓存

7、异步调用

在这里插入图片描述
配置异步调用
在这里插入图片描述
代码调用
在这里插入图片描述
在发送2个请求后,会立马返回,拿到futurn之后阻塞等待就可以,节省了先等待第一个接口返回,再等待第二个的时间

8、事件通知

  • 配置
    在这里插入图片描述
  • 调用List item

如果调用时候不关心调用方法的返回时优先使用回调的方式,完全不存在阻塞的步骤,效率时最高的。

9、Provider 端应尽量配置的属性

Dubbo 的属性配置优先度上,遵循如下顺序:reference 属性->service 属性->Consumer属性,对于服务调用的超时时间、重试次数等属性,服务的提供方比消费方更了 解服务性能,因此我们应该在 Provider 端尽量多配置 Consumer 端属性, 让其漫游到消费端发挥作用。

  • 建议在 Provider 端配置的 Consumer 端属性有:
    在这里插入图片描述
    在这里插入图片描述
  • 建议在 Provider 端配置的 Provider 端属性有:
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值