Eureka集群的那些坑

      今天遇到一个Eureka集群的一个坑。

      问题现场类似是这样的:两台Eureka组成的服务注册中心集群,两台服务提供方server1、server2,两个服务调用方client1、client2。                

     正常的情况下:

          client1和client2通过服务中心获取的服务提供方的注册的元数据信息,然后本地缓存调用server2、server1的服务API是没问题的。调用server的api服务时采用的FeignClient通过eureka注册中心获取服务信息调用。

  以下简写成client服务、server服务、eureka服务:

      但今天遇到的情况是client调用server时,返回结果不稳定,以下是排查过程。

     1、习惯性的先查看client方日志,发现接口调用有一定的概率失败,但是并没有抛异常,而仅仅是response返回null。

     2、查看server方日志,并没有发现异常,也没有发现response为null的情况,并且server方的本机上访问接口都是响应正常。

     3、通过分析两方日志,猜想client端的请求可能没有打到server方。

     4、分析整个调用流程,只差eureka服务这一个环节没有排查了,然后查看eureka服务上的server方注册信息是否正常。

     5、发现两台eureka服务,有一台tomcat假死了,至此猜想是假死的eureka服务假死所致。

     6、验证猜想,重启假死的eureka的tomcat服务,问题验证解决。

那么问题来了,

   1、eureka服务跑了大半年,怎么突然一台实例假死了?

   2、eureka集群的一台实例假死,为什么会导致服务间调用不稳定?

接下来,我们来探讨这两个问题。

待续。。。。。。。。。

猜你喜欢

转载自www.cnblogs.com/xuzhujack/p/11019405.html