Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使在我停止注册服务器之后,Eureka客户端也可以工作并相互通信。怎样_Java_Spring Boot_Microservices_Netflix Eureka_Netflix Ribbon - Fatal编程技术网

Java 即使在我停止注册服务器之后,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(

我创建了一个Eureka服务器,并在其中注册了两个客户端。客户之间沟通顺畅

在那之后,我停止了Eureka服务器,但我的两个客户机仍然能够顺利地相互通信。这怎么可能?我在第一个客户端中使用以下代码与第二个客户端通信

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宕机,并不意味着远程服务也宕机或其物理地址已更改