服务注册与发现(上)

2020/2/23 17:03:20

本文主要是介绍服务注册与发现(上),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

服务注册

服务注册是指服务提供者向注册中心注册服务实例,主要将其服务信息如服务名称、IP 地址、端口等注册到注册中心。

服务发现

服务发现是指服务消费者需要调用其他服务时,注册中心将服务提供者的服务信息如服务名称、IP 地址、端口等告知服务消费者。

Eureka

Eureka 提供的是一种客户端注册的方式进行服务注册和发现。Eureka 是 Netflix 公司的开源项目之一,和 Spring-cloud-netflix 项目集成可以快速实现 SpringBoot 项目的云化集成部署。部署方式可以选择普通虚拟机或者用 Docker。Netflix 除了提供 Eureka,还有成套的负载均衡 Ribbon、网关路由 Zuul、熔断机制 Hystrix,下面会逐一介绍。

  • Eureka 是 SpringCloud Netflix 的核心子模块
  • Eureka 包含:Eureka Server 和 Eureka Client
  • Eureka Server 提供服务注册服务,存储所有可用服务节点
  • Eureka lient 用于简化与Server 通讯复杂度

Eureka 服务注册

  • Eureka Client 在第一次心跳时向Eureka Server 注册
  • 注册时会提供自身元数据:主机名、端口、健康指标URL等

Eureka 服务续约

  • Eureka Client 通过发送心跳进行续约
  • 默认情况下每30秒发送一次心跳
  • 如90s 内Eureka Server 未收到续约,则进行服务剔除

Eureka 服务下线

  • Eureka Client 优雅退出时会发送cancel命令
  • Eureka Server 收到cancel命令时会删除该节点

注: kill -9 强制杀进程不属于优雅退出

获取注册列表信息

  • Eureka Client 会缓存由Server获取的注册表信息
  • Eureka Client 会定期更新注册表信息【默认30秒】
  • Eureka Client 会处理注册表的合并等内容

Eureka 注册慢

  • 根本原因:Eureka 的 AP 特性
  • Eureka Client 延迟注册,默认30秒
  • Eureka Server 的响应缓存,默认30秒
  • Eureka Server 的缓存刷新,默认30秒

Eureka 的自我保护

  • Eureka Server 会自动更新续约阈值
  • Eureka Server 续约更新频率低于阈值则进入保护模式
  • 自我保护模式下 Eureka Server 不会剔除任何注册信息

end

如有问题,请留言或者发送邮件,感谢您的阅读



这篇关于服务注册与发现(上)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程