Java 即使在我停止注册服务器之后,Eureka客户端也可以工作并相互通信。怎样
我创建了一个Eureka服务器,并在其中注册了两个客户端。客户之间沟通顺畅 在那之后,我停止了Eureka服务器,但我的两个客户机仍然能够顺利地相互通信。这怎么可能?我在第一个客户端中使用以下代码与第二个客户端通信Java 即使在我停止注册服务器之后,Eureka客户端也可以工作并相互通信。怎样,java,spring-boot,microservices,netflix-eureka,netflix-ribbon,Java,Spring Boot,Microservices,Netflix Eureka,Netflix Ribbon,我创建了一个Eureka服务器,并在其中注册了两个客户端。客户之间沟通顺畅 在那之后,我停止了Eureka服务器,但我的两个客户机仍然能够顺利地相互通信。这怎么可能?我在第一个客户端中使用以下代码与第二个客户端通信 ServiceInstance instance = loadbalancerclient.choose(secondService); URI uri=URI.create(String.format("http://%s:%s"+"/test",instance.getHost(
ServiceInstance instance = loadbalancerclient.choose(secondService);
URI uri=URI.create(String.format("http://%s:%s"+"/test",instance.getHost(),instance.getPort()));
ResponseEntity<String> result = restTemplate.getForEntity(uri.toString(),String.class);
ServiceInstance实例=loadbalancerclient.choose(secondService);
URI=URI.create(String.format(“http://%s:%s”+“/test”,instance.getHost(),instance.getPort());
ResponseEntity结果=restTemplate.getForEntity(uri.toString(),String.class);
因为我没有硬编码任何URL,而是使用Eureka服务器中第二个客户端的注册名称,所以我不希望它在服务器关闭时工作。有人能解释一下为什么会发生这种情况吗?来自Eureka:
获取注册表
Eureka客户端从服务器获取注册表信息,然后
在本地缓存它。之后,客户机使用该信息
寻找其他服务。此信息定期更新(每周一次)
30秒),通过在上一个提取周期之间获取增量更新
现在的那个。增量信息保存的时间更长(大约3天)
分钟),因此增量回迁可能返回相同的值
再举一次例子。Eureka客户端会自动处理重复的数据
信息
在获得Delta后,Eureka客户机核对信息
通过比较
如果由于某种原因信息不匹配,则
重新获取整个注册表信息。Eureka服务器缓存
增量、整个注册表和每个
应用程序以及相同的未压缩信息。这个
负载还支持两种JSON/XML格式。尤里卡客户获得
使用jersey apache客户端压缩JSON格式的信息
尤里卡:
获取注册表
Eureka客户端从服务器获取注册表信息,然后
在本地缓存它。之后,客户机使用该信息
寻找其他服务。此信息定期更新(每周一次)
30秒),通过在上一个提取周期之间获取增量更新
现在的那个。增量信息保存的时间更长(大约3天)
分钟),因此增量回迁可能返回相同的值
再举一次例子。Eureka客户端会自动处理重复的数据
信息
在获得Delta后,Eureka客户机核对信息
通过比较
如果由于某种原因信息不匹配,则
重新获取整个注册表信息。Eureka服务器缓存
增量、整个注册表和每个
应用程序以及相同的未压缩信息。这个
负载还支持两种JSON/XML格式。尤里卡客户获得
使用jersey apache客户端压缩JSON格式的信息
Eureka不处理两台服务器之间的通信,只处理注册。这意味着一个服务使用Eureka只是为了找到另一个服务的地址。之后,直接在两个服务之间进行通信,无需尤里卡 如果Eureka关闭,客户端将使用远程服务地址的缓存副本,这有利于恢复能力和临时网络故障
如果你想一想,为什么它不起作用?如果Eureka关闭,并不意味着远程服务也关闭或其物理地址已更改。Eureka不处理两台服务器之间的通信,只处理注册。这意味着一个服务使用Eureka只是为了找到另一个服务的地址。之后,直接在两个服务之间进行通信,无需尤里卡 如果Eureka关闭,客户端将使用远程服务地址的缓存副本,这有利于恢复能力和临时网络故障 如果你想一想,为什么它不起作用?如果Eureka宕机,并不意味着远程服务也宕机或其物理地址已更改