【微服务与分布式实践】探索 Eureka

服务注册中心

  • 心跳检测机制:剔除失效服务
  • 自我保护机制
    • 统计心跳失败的比例在15分钟之内是否低于85%,如果出现低于的情况,Eureka Server会将当前的实例注册信息保护起来,让这些实例不会过期。
    • 当节点在短时间内丢失过多的心跳时,那么这个节点就会进入自我保护模式,以防止因网络问题导致的服务注册失败
  • 高可用:
    • 注册中心集群模式、互相注册、服务同步
    • AP(保证可用性,放弃数据一致性)

服务注册

    • 服务心跳续约、定期发送心跳
      • Eureka Client会定期(默认每30秒)向Eureka Server发送心跳(续约),以表明自己的存活状态

服务发现

    • 拉取服务列表、缓存服务列表、定期更新
      • 默认情况下,Eureka Client每30秒会全量拉取一次服务注册表信息,并缓存到本地。
    • 服务调用:负载均衡 @LoadBalanced

去中心化(Decentralized)

  1. 对等通信:去中心化系统中的节点地位平等,节点之间通过点对点(Peer to Peer)的方式进行通信。Eureka就是一个典型的去中心化服务注册与发现工具,它采用Peer to Peer对等通信,没有master/slave之分。
  2. 高可用性:去中心化系统更注重高可用性(AP原则),即使部分节点失效,系统仍然能够继续提供服务。
  3. 节点间复制:在去中心化系统中,当一个节点开始接受客户端请求时,所有的操作都会在节点间进行复制操作,将请求复制到该节点当前所知的其他所有节点中。
  4. 自我保护机制:Eureka有一个自我保护机制,当节点在短时间内丢失过多的心跳时,那么这个节点就会进入自我保护模式,以防止因网络问题导致的服务注册失败。
  5. 数据分布:去中心化系统中的数据通常分布在多个节点上,每个节点都持有全量数据,新增的数据可以往任意一个节点写入,然后由这个节点向其他节点广播,最终达到一致性。
相关推荐
斯普信云原生组18 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
斯普信云原生组19 小时前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈
docker·容器·eureka
迷路爸爸18021 小时前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
斯普信云原生组1 天前
Docker 开源软件应急处理方案及操作手册——存储卷与数据持久化问题
docker·容器·eureka
斯普信云原生组1 天前
Docker 开源软件应急处理方案及操作手册——Docker Compose 应急处理
docker·容器·eureka
indexsunny1 天前
互联网大厂Java面试实录:Spring Boot到微服务的深入探讨
java·spring boot·微服务·面试·eureka·kafka·jwt
迷路爸爸1801 天前
Docker 配置镜像源后仍然 `pull` 失败:问题、原因与解决方案
docker·容器·eureka
斯普信云原生组1 天前
Docker 开源软件应急处理方案及操作手册——日常维护与监控命令集
docker·容器·eureka
正经教主2 天前
【docker基础】第一课、从零开始理解容器技术
docker·云原生·容器·eureka
正经教主2 天前
【docker基础】Ubuntu 安装 Docker 超详细小白教程
ubuntu·docker·eureka