DUBBO设置
1. 主要设置相关:超时时间 和 重试次数
设置优先级顺序:
1. 服务调用方方法设置 高于 消费端Service设置
2. 消费端Service设置 高于 服务端Service设置
3. 服务端Service设置 高于 消费端全局设置
4. 消费端全局设置 高于 服务端全局设置
总结:
1. 方法层面 > Service服务 > 全局设置
2. 消费者测 > 服务提供方侧
方法注解配置(dubbo官方未提供该注解 lvmama版本也没用 CRM自定义)
com.lvmama.crm.common.dubbo.DubboMethod 调用方方法注解配置
示例:
@DubboMethod(timeout=8000,retries=0, name=”test”, interfaceCls = TestTimeoutDubboService.class)
说明:
1. DubboMethod注解目前 只生效于方法上有效
2. 目前单次只能限制单个dubbo服务内的多个调用方法
(如果一个方法调用多个不同的dubbo服务 只能限制单个服务里面不同的方法)
3. 单个服务内的多个方法的 超时 和 重试是 统一配置 不可分开 (局限性)
4. name为方法名,需要用,隔开
5. 注意一定要写对name否则会 空指针异常
服务注解依次配置:
com.alibaba.dubbo.config.annotation.Reference 消费端引入Service 注解
com.alibaba.dubbo.config.annotation.Service 服务端Service提供 注解
配置来自于全局配置 SpringDubboConfig
com.alibaba.dubbo.config.ConsumerConfig 消费端全局配置 @Bean定义
com.alibaba.dubbo.config.ProviderConfig 服务端全局配置 @Bean定义
XML的配置:
目前驴妈妈版本的dubbo 最新版本 2.5.3.lv1.7.4
超时时间配置为:1000 ms(1秒) 重试次数配置为: 2 一旦超时重试 调用次数为:3
如何合理设置超时时间?
- 系统各超时时间的配置 数据库端 远程调用 等
2. 数据库层优化
3. 检查缓慢瓶颈等相关
HBASE 的不稳定 会导致超时重发 击溃Web应用
