dubbo理解(二)

编程

<dubbo:consumer check=“false” ></dubbo:consumer>

1. check=true,检测到某接口没有提供者时,抛异常,阻止系统启动, reference对象置null

在系统测试阶段,开启可快速发现问题。

reference对象为空,则即使后续补进了provider,也不能补救

2. check=false,不检测接口是否有提供者,直接为reference生成代理对象

只要后续补入provider,程序会自动探测到

线上正式环境使用

Dubbo集群容错配置

<dubbo:consumer cluster="failover” retries=“2” forks=“2” />

1. Failover :当出现失败,重试其它服务器。 retries=“2” 来设置重试次数(不含第一次)。

注:幂等性操作使用,如读操作

2. Failfast :快速失败,只发起一次调用,失败立即报错

注:非幂等性操作,如写操作

3. Failsafe :出现异常时,直接忽略

注:无关紧要的旁支操作,如打日志

4. Failback :后台记录失败请求,定时重发

注:后续专业处理

5、 Forking :并行调用多个服务器,只要一个成功即返回

注:forks=“2” 来设置最大并行数

Dubbo负载均衡配置

<dubbo:consumer loadbalance=“random”/>

1. Random :按权重随机------根据weight值(服务方设置)来随机--

2. RoundRobin :轮询

3. LeastActive :最少活跃数(正在处理的数)。慢的机器,收到的请求少

Dubbo声明式缓存

<dubbo:reference interface=“com.enjoy.service.ProductService” cache=“lru”/>

参数与返回—key/value形式

1. lru :基于最近最少使用原则删除多余缓存

2. threadlocal :当前线程缓存

Dubbo事件通知

<dubbo:method name=“xxx" onreturn=“callBack.onXxx” onthrow = “xxx.onreturn" />

onreturn:方法正常返回,则回调callback对象的对应方法

onthrow : 方法异常时,则回调

异步调用 ---- future模式

事件机制 — 异步回调

回声测试 — 服务就绪清单

泛化调用 – 不通过接口类:----- 一般项目救急用

以上是 dubbo理解(二) 的全部内容, 来源链接: utcz.com/z/518961.html

回到顶部