【微服务与分布式实践】探索 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. 数据分布:去中心化系统中的数据通常分布在多个节点上,每个节点都持有全量数据,新增的数据可以往任意一个节点写入,然后由这个节点向其他节点广播,最终达到一致性。
相关推荐
Dontla3 天前
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
java·docker·eureka
Dxy12393102163 天前
Docker常用命令详解
docker·容器·eureka
wp90903 天前
Docker命令大全
docker·云原生·eureka
傻傻虎虎3 天前
【CentOS7】docker安装成功后测试,报Unable to find image ‘hello-world:latest‘ locally
docker·容器·eureka
惜.己4 天前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
敲上瘾6 天前
Docker 容器核心指令与数据库容器化实践
linux·运维·服务器·docker·容器·eureka·dubbo
奋斗的老史7 天前
25年Docker镜像无法下载的四种对策
docker·容器·eureka
小马爱打代码7 天前
Spring Cloud Eureka 核心原理
spring cloud·eureka
小薛博客8 天前
12、Docker基本概念 容器与镜像与安装
docker·容器·eureka
雨中来客8 天前
解决Docker运行hello-world镜像报错问题
docker·eureka