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