服务启动顺序导致的问题

来源:1-5 【Demo】给消费者添加负载均衡功能

juwencheng

2020-03-27 11:26:43

现象

启动顺序如下

  1. 启动client(10086)服务,注册中心地址不对导致启动失败

  2. 启动eureka-consumer,调用sayHi返回500错误,找不到服务

  3. 重新启动client(10086),可正常调用sayHi方法

  4. 启动client(10000),调用sayHi方法,当负载到10000的时候,会提示500找不到服务

  5. 过了一会儿又恢复了

应该有同学会遇到类似的问题,记录下。

问题

从注册到服务可用经历了哪些过程?

写回答

1回答

Java架构师讲师团

2020-03-27

服务发现是客户端发起的异步发现机制,你要等一段时间让Consumer拉取到最新的服务列表,才能获取到后面注册的client

0
huwencheng
h 还有个额外的问题,微服务分层里面的web和service两个都加上了@RestController注解,一个是不是对外(客户端)提供,一个对内(微服务间)提供的,但两者之间处理逻辑上有些区别,即在controller层对业务做了一些校验,数据准备等工作,如果两层不统一,那么在微服务调用service服务时,也要做额外的校验工作,是不是应该把逻辑和在一起呢
h020-03-27
共2条回复

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程