1.常规标签
1.1 关闭某个服务的启动时检查:(没有提供者时报错)
<dubbo:reference check="false" />
1.2 关闭所有服务的启动时检查:(没有提供者时报错) 写在定义服务消费者一方
<dubbo:consumer check="false" />
- check=true,检测到某接口没有提供者时,抛异常,阻止系统启动, reference对象置null,即使后续补进了provider,也不能补救
- check=false,不检测接口是否有提供者,只要后续补入provider,程序会自动探测到线上正式环境使用
1.3 关闭注册中心启动时检查:(注册订阅失败时报错)
<dubbo:registry check="false" />
1.4 引用缺省是延迟初始化的,改为饥饿加载
<dubbo:reference init="true" />
1.5 禁用注册
<dubbo:registry register="false" />
2.容错策略(cluster)
在消费端配置:
<dubbo:consumer check="false" cluster="failfast" timeout="3000"
retries="2" loadbalance="random"/>
cluster类型:
- Failover(默认) :当出现失败,重试其它服务器。 retries=“2” 来设置重试次数(不含第一次),场景:读操作
- FailFast:一次失败立即返回,场景:写操作
- Failsafe:出现异常,直接忽略,场景:日志等不太紧要的信息
3. 负载策略(loadbalance)
在消费端配置:
<dubbo:consumer check="false" cluster="failfast" timeout="3000"
retries="2" loadbalance="random"/>
loadbalance类型:
- random:随机访问
- roundRobin:权重轮询
- leastActive:最小活跃数(慢的机器收到的请求少)
4. 缓存
<dubbo:reference id="orderService" interface="com.ucar.service.OrderService" >
<dubbo:method name="getDetail" cache="lru" />
</dubbo:reference>
将方法的参数、返回value缓存,上例吧getDetail方法缓存
- lru:最少使用原则,如果长期未使用,就不缓存了
- threadlocal:对调用者缓存,如果下次还是同一个调用者,就返回缓存数据
网友评论