注册中心Nacos宕机后,远程调用还能成功吗

 在上图的情况下,在订单服务调用商品服务时,实际的处理逻辑应该是RestTemplate发起请求,具体的步骤如上(1.2.3.4),

每次调用时应该时先请求注册中心,再给对方服务的某个地址发送请求(这样效率比较低)

那我们就要考虑:如果注册中心Nacos宕机了,我们还能成功发送远程请求吗

 

解答

①如果是第一次进行远程调用时,注册中心就宕机了--------------无法实现远程调用,因为此时无法从注册中心获取到对应的服务

②如果已经调用过,之后注册中心宕机-------------------可以实现远程调用,因为Java会有一个本地缓存,注册中心的服务只要调用过,就会放在缓存中,此时,如果注册中心宕机,RestTemplate仍然可以从缓存中获取对应的微服务请求列表(也就是得到url),然后实现远程调用。

 

 

 

 

 

 

 

ps.如果注册中心没有宕机,缓存和注册中心可以实现同步(实时更新),也就是注册中心可以更新缓存里面的微服务请求列表

posted @ 2025-06-30 22:52  连师傅只会helloword  阅读(57)  评论(0)    收藏  举报