Dubbo常用配置
使用Dubbo作为项目的RPC框架,可以根据项目实际需要,选择Dubbo提供的自定义配置,本文介绍了Dubbo常用的配置选项
启动时检查
默认情况下,消费者服务启动时,会检查注册中心是否有启用的提供者服务,如果没有,会造成检查不通过,启动失败
有时候在开发过程中,需要绕过启动检查,可以使用check属性,将值设置为false既可
@Service
public class OrderServiceImpl implements OrderService {
@DubboReference(check = false)
UserService userService;
}
或者在配置文件中添加以下配置
dubbo:
consumer:
check: false
或者添加以下配置,效果相同
dubbo:
registry:
check: false
超时失败
在进行远程调用时,可以配置调用的超时时间,在超时时间内没有受到返回时,则视为调用失败,抛出异常或者执行容错逻辑,配置调用的超时时间,可以使用timeout属性,单位为毫秒
我们创建一个服务提供者,在执行过程中阻塞3秒,以模拟执行时间超时的情况
@Service
@DubboService
public class UserServiceImpl implements UserService {
@Override
public List<UserAddress> getUserAddressList() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
UserAddress userAddress1 = new UserAddress(1, "HZ", "00000", "小王", "15652211111", "1");
UserAddress userAddress2 = new UserAddress(2, "BJ", "00001", "小张", "17911111111", "1");
return Arrays.asList(userAddress1, userAddress2);
}
}
在服务消费者通过timeout属性配置超时时间为1秒
@Service