注册中心刷新过期服务时间控制问题

来源:13-3 升级config&product&api-gateway(下)

qq_临昇_03843664

2018-12-20

廖师兄,我这边eureka集群后出现一个问题,情况如下:
调用服务消费端时相同的服务提供端被调用时,通过日志发现他是负载均衡的,然后我直接kill掉一个服务提供端,再次调用服务消费端会提示找不到服务,修改注册中心eureka的默认配置如下图:
图片描述
调整默认注册中心服务刷新、服务过期、刷新readCacheMap的时间、缓存readWriteCacheMap失效时间。这样保证了重新获取可用服务消费端接口时间变短,但是就算再短还是避免不掉那种注册中心未刷新readCacheMap导致的拿到无效服务提供端的情况,还是会出现no-server的情况,然后等到注册中心完成更新后才能正常访问,如下图后:
图片描述
这样情况的话有些业务是不能用的比如消费这种业务,不能一个服务提供者挂了,其他相同服务提供端需要等一段时间才能用,这样感觉不行,师兄你看这种情况有什么建议给我吗? 谢谢!

写回答

1回答

廖师兄

2018-12-21

从eureka心跳时间着手是解决不了你的问题的。你需要

  1. 永远保持一个服务至少有一个实例活着,rancher发布可以分批发布

  2. 服务间使用feign通信,可开启重试

0
2
廖师兄
回复
qq_临昇_03843664
幂等性是要考虑的,如果流量小,可以在重要的业务加上幂等,商品,订单
2018-12-24
共2条回复

SpringCloud Finchley(M2+RELEASE+SR2)微服务实战

SpringCloud组件实现微服务,【已升级Finchley.Release】

5668 学习 · 2489 问题

查看课程