1.3 eureka注册中心

一、提供者与消费者

  1. 服务提供者:一次业务中,被其他微服务调用的服务(提供接口给其他微服务)

  2. 服务消费者:一次业务中,调用其他微服务的服务(调用其他微服务提供的接口)

  3. 如果,A调用B,B调用了C,那么B是什么角色呢:既是提供者没有事消费者

二、Eureka原理分析

  1. 微服务调用出现的问题

    1. 服务消费者如何获取提供者的地址信息(非硬编码情况下)

    2. 如果存在多个服务提供者,消费者该如何选择(多接点情况)

  2. Eureka作用

    1. 消费者如何获取注册者具体信息

      1. 服务者启动时向Eureka注册自己的信息

      2. Eureka保存这些信息

      3. 消费者根据服务名称向Eureka拉取提供者信息

    2. 多个服务提供者,消费者如何选择

      1. 消费者使用负载均衡算法,从服务列表中挑选一个

    3. 消费者如何感知服务者的健康状态

      1. 服务提供者会每隔30s向EurekaServer发送心跳请求,报告健康状态

      2. Eureka会更新记录服务列表信息,心跳不正常会被剔除

      3. 消费者可以拉取到最新的信息

三、搭建Eureka服务

  1. 搭建EurekaServer服务

    1. 创建项目,导入坐标依赖

    2. 编写启动类,添加@EnableEurekaServer注解

    3. 编写application.yml文件

      备注:如果有多个注册中心,可以在地址上用","分割

四、注册服务

  1. 服务中导入依赖坐标

  2. 修改application.yml文件配置

  3. 附加内容:

    1. 测试服务多接点同时注册:

      1. IDEA中,找到服务,右键,点击Copy Configuration,将服务复制一份

      2. 修改虚拟机参数(VM option):-Dserver.port=60002

五、服务发现

  1. 消费方修改

    1. 修改代码,用服务名代替ip+端口号

    2. RestTemplate添加负载均衡注解

最后更新于

这有帮助吗?