1、Eureka使用和源码分析

二丶Eureka使用和源码分析

1丶Eureka是什么
  1. Eureka是springCloud Netflix的核心子模块
  2. Eureka包含:服务端和客户端
  3. server提供服务注册服务,储存所有可用服务节点
  4. 用于简化与server通讯复杂度
2丶环境搭建
  1. 服务端依赖 image-20230528185604044image-20230528185710412
  2. 服务端配置image-20230528185810611
  3. 服务端启动类image-20230528185848651
  4. 客户端依赖image-20230528190012097
  5. 客户端启动类image-20230528190158841
  6. 客户端配置image-20230528190530804
3丶集成eureka
  1. 调用image-20230530182507754
4丶核心特性
  1. 服务注册:

    • eureka client在第一次心跳时间向eureka server注册
    • 注册时会提供诸多自身元数据:主机名丶端口丶健康指标URL等
  2. 服务续约:

    • eureka client通过发送心跳进行续约

    • 默认情况下每30面发送一次心跳

    • 如果90秒内eureka server未收到续约,则进行服务剔除

      由官方规定不建议调整

  3. 服务下线

    • eureka client优雅退出是会发送cancel命令
    • eureka server收到cancel命令时会删除该节点
  4. 获取注册列表信息

    • eureka client会缓存由server获取的注册表信息
    • eureka client会定期更新注册表信息[默认30秒]
    • eureka client会处理注册表的合并等内容
5丶服务端集群搭建
  1. 服务1配置image-20230530190755702
  2. 服务2配置image-20230530190911557
6丶Eureka集群架构
  • 架构图image-20230530191033240
7丶eureka自我保护机制

自我保护机制: 不删除心跳过期的服务

  1. 什么条件下eureka会启动自我保护?

    • 自我保护的条件

      一般情况下,微服务在eureka上注册后,会30秒发送一个心跳包,eureka通过心跳来判断服务是否健康,同事后定期删除超过90秒没有发送心跳的服务

    • 有两种情况eureka server搜不到服务的心跳

      1. 微服务自身原因
      2. 微服务与eureka之间的通讯故障
    • 那么这个阈值是多少

      15分钟之内是否低于85%:

      eurekaserver在运行期间,会统计心跳失败的比例在15分钟内是否低于85%,这种算法叫做eureka server的自我保护机制

  2. 什么时候关闭自我保护机制

    • 每60秒进行一次扫描,恢复到85%后关闭自我保护机制
  3. 为什么要启动自我保护

    • 因为同时保留"好数据"与"坏数据"总比丢掉任何数据更好,当网络故障恢复后,这个eureka节点会退出"自我保护模式"
    • eureka还有客户端缓存功能(也就是微服务的缓存功能). 即便eureka集群中所有节点都宕机失效,微服务的Provider和consumer都能正常通信
    • 微服务的负载均衡策略会自动剔除死亡的微服务节点
  4. 关闭自我保护机制image-20230530194057761

8丶如何优雅停服
  1. 服务端暴露端点依赖image-20230530195326169
  2. 服务端shutdown端点配置image-20230530195502553
  3. 请求执行shutdown端点image-20230530195658247
9丶如何加强eureka注册中心的安全性
  1. 引入安全认证依赖image-20230530200706019
  2. 安全认证配置image-20230530200841247
  3. 开启安全认证bean配置类image-20230530201054595
10丶eureka转化nacos
  1. 服务端更改依赖image-20230530202245003
  2. 服务端更改配置image-20230530202359678
11丶源码分析(服务注册丶续约丶集群同步)
  • 架构图image-20230530202601790
  • 源码分析图服务注册源码
12丶服务剔除丶下架丶服务保护
  • 代码分析image-20230601204824494
13丶缓存机制

代码分析image-20230601214552421

14丶客户端源码分析
  • 源码分析image-20230601223153998

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值