springcloud eureka做服务发现的时候的问题

qq_18511433 2019-02-23 05:55:27
eureka做服务发现,两个注册中心 分别为 eureka-server 和 eureka-server2(这两个注册中心的关系,看下边配置文件), 一个客户端demo-web.下面是这几个服务的配置文件信息:

eureka-server:


eureka-server2:


如图所示, eureka-server,只是作为注册中心,不向任何服务注册(同时15s内如果接受不到client心跳,则移除该实例,并且没15s拉取一次服务注册信息), eureka-server2, 向自己和eureka-server 注册(无其他特殊配置).

demo-web:

demo-web, 只向eureka-service 注册(并且每5s向注册中心发送心跳.) 下面是问题.

问题一:
如eureka-server页面所示, 有两个client,分别为demo-web和eureka-server2. 但是,我把这停了其中一个服务之后, 这里显示这两个实例依然存活,这是什么原因?


问题二:
如图eureka-server2页面, eureka-server2 应该只有eureka-server2(也就是它自己) 这个实例才对啊, 为什么demo-web没有向eureka-server2注册,也会显示在这里
...全文
601 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_18511433 2019-02-27
  • 打赏
  • 举报
回复
这两个eureka 没有相互注册, 只是eureka2注册了 eureka1, 这样也会同步吗?
回首笑人间 2019-02-26
  • 打赏
  • 举报
回复
第一个问题,SpringCloud是存在着缓存机制的,当一个服务挂掉之后,在多少秒内(自己设定的值),是仍然显示在Eureka上的,也就是只要引用者只要是在超时时间内引用的话,还是可以使用的,但使用的是缓存数据;
第二个问题,你使用了两个Eureka互相注册,如果你对Eureka的底层了解一些的话,你会发现其实它和Zookeeper是很像的东西,都是用来做服务注册的,而你注册了两个Eureka,让他们互相注册,实际上这就起到了一种备份容灾的效果,他们之间通过一个叫做Bus的消息总线来传播信息,当你向一个Eureka上注册服务后,他们之间的数据就会互通,这就是为什么你会在另外一个Eureka上看到你的那个服务的原因。
qq_18511433 2019-02-23
  • 打赏
  • 举报
回复
第一个问题解决了, 第二个问题还没搞明白

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧