记录一下springCloud的坑
1.现在假设我有2台机器,A,B机器。A机器装了注册中心,装了xx-Client服务。B机器装了xx-feign服务。B去调A的时候,会因为注册中心会返回一个 将ip+端口返回一个随机域名,就会导致unknowHostException因此不可能考虑一个个地去配。需要在被调用的服务方添加一个配置信息:eureka.instance.prefer-ip-address=true
2.异步调用feign,假设A系统需要调用B.C.D系统的3个接口,并且这3个接口之间并不存在依赖问题,那么这个时候,为了快速响应,就可以采用异步或者多线程的方式,但是由于本人能力有限,只能考虑多线程的方式。那么就贴出关键性代码。
@Autowired
private DcClient dcClient;
@Async
public Future<User> getUserAsync(){
User user = dcClient.dcService();
return new AsyncResult<User>(user);
}
只有当你使用future.get()的时候才会形成阻塞
3.springCloud和springBoot的版本不兼容的坑。因此选择之前需要确认
4.eureka的健康检查机制很不透明,详情太少,因此需要每个服务自己提供一个相同名字的接口作为故障诊断的展示