• Eureka-server集群都挂了,微服务之间还能调通吗


    答案:可以!

     流程:

    1、Eureka 作为一个服务注册中心启动。
    2、Provider 和 Consumer 分别作为服务启动,并且注册到 Eureka 上面去,以 provider 为例,3、provider 注册时会告诉 eureka,我叫 provider,我的地址是 xx.xx.xx.xx,我的端口是 xx,我的 xx 是 xx,就是说,provider 会将自己的一些元数据信息告诉 eureka;同理,consumer 也是如此。
    接下来,consumer 要调用 provider 的接口,但是它不知道 provider 的地址是什么,他只知道要调用的服务叫 provider,于是 consumer 找到 eureka,从 eureka 上查询出来 provider 的具体地址和端口,这个具体的地址和端口,可能是一个,也可能是多个(集群化部署)。
    consumer 获取到 provider 的地址和端口之后,接下来就直接去调用 provider 了。
    从上面一个流程图中,大家可以看出来,一旦 consumer 获取到 provider 的具体地址,接下来的调用其实就没有 eureka 什么事了。

     原理:

    一、Eureka Server
    Eureka Server 主要对外提供了三个功能:

    服务注册,所有的服务都注册到 Eureka Server 上面来,这是 Eureka 基本功能。
    提供注册表,注册表就是所有注册上来服务的一个列表,Eureka 内部通过一个二层缓存机制来维护这个注册表。Eureka Client 在调用服务时,需要获取这个注册表,一般来说,这个注册表会缓存下来,如果缓存失效,则直接获取最新的注册表。
    同步状态,Eureka Client 通过注册、心跳等机制,和 Eureka Server 同步当前客户端的状态,以便 Eureka Client 能够及时感知到变化。
    二、 Eureka Client
    服务要注册到 Eureka 上面去,这种注册本身就是一个 HTTP 请求,但是自己手写注册过程的话太过于繁琐,Eureka Client 可以帮助我们简化注册过程。

    总结:Eureka Client 会自动拉取、更新以及缓存(俗称本地路由) Eureka Server 中的信息,这样,即使 Eureka Server 所有节点都宕机,Eureka Client 依然能够获取到想要调用服务的地址(前提是服务地址没有发生变化)。

  • 相关阅读:
    【数据结构与算法】详解单向无头非循环链表的基本操作
    一个怪异的笔记本重启死机问题分析
    计算机毕业设计之java+ssm土家风景文化管理平台-旅游景点攻略网站
    1645. Hopper Company Queries II
    Springboot文件上传
    Spring进行时——Spring项目创建与Bean的存储与读取
    openresty安装配置,执行shell脚本
    OpenAI宫斗,尘埃落定,微软成最大赢家
    std::minus
    linux系统安装Mysql 快捷方式
  • 原文地址:https://blog.csdn.net/wzj_3187/article/details/126122513