【微服务3】springcloud-服务注册发现

54 阅读2分钟

服务注册发现

  • 微服务中必须要使用的组件,考察我们使用微服务的程度
  • 注册中心的核心作用是:服务注册和发现
  • 常见的注册中心:eureka、nacos、zookeeper

Eureka的作用

image.png

服务注册和发现是什么意思?Spring Cloud如何实现服务注册发现?

  • 我们当时项目采用的eureka作为注册中心,这个也是Spring Cloud体系中的一个核心组件
  • 服务注册:服务提供者需要把自己的信息注册到eureka,由eureka来保存这些信息,比如服务名称、ip、端口等
  • 服务发现:消费者向eureka拉取服务列表信息,如果服务提供者有集群则消费者会利用负载均衡算法,选择一个发起调用
  • 服务监控:服务提供者每隔30秒向eureka发起心跳,报告健康状态,如果eureka服务90秒没有接收到心跳,从eureka中剔除

nacos工作流程

image.png

我看你之前也用过nacos,能说下nacos和eureka的区别?

  • nacos和eureka的共同点:
    • 都支持服务注册和服务拉取
    • 都支持服务提供者心跳方式做健康检测
  • nacos和eureka的区别(注册中心)
    • nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
    • 临时实例心跳不正常会被踢出,非临时实例则不会被踢除
    • nacos支持服务列表变更的消息推送模式,服务列表更新及时
    • nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP(强一致)模式;Eureka采用AP(高可用)方式
  • Nacos还支持了配置中心,eureka则只有注册中心,也是选择使用nacos的一个重要原因