1、重试次数
失败自动切换,当出现失败,重试其它服务器,但重试会带来更长延迟。可通过 retries=“2”{默认} 来设置重试次数(不含第一次)。
(1)在调用端,Reference注解添加属性 retries,设置重试次数,如果不设置默认重试两次
@RestController
@RequestMapping("/user")
public class UserController {
@Reference(retries = 4)
private UserService userService;
@GetMapping("{name}")
public String getData(@PathVariable String name) {
String value = userService.sayHello(name);
return value;
}
}
(2)在服务端通过Thread.sleep来实现测试效果
2、版本号
当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。
可以按照以下的步骤进行版本迁移:
(1)提供者添加版本配置:
@Service(version = "1.0.1")
public class UserServiceImpl implements UserService {}
(2)消费者调用配置:
@Reference(version = "1.0.1")
private UserService userService;
(3)如果不需要区分版本,可以按照以下的方式配置:
@Reference(version = "*")
private UserService userService;