文章目录
- 前言
- 一、提供者与消费者
- 1. 服务调用关系
- 二、远程调用的问题
- 三、eureka 原理分析
- 1. eureka 的作用
- 四、Eureka 案例
- 1. 搭建 eureka 服务
- 1. 服务注册
- 1.1 注册 user-service
- 1.2 启动 user-service
- 3. order-service 完成服务注册
- 3. 服务发现
- 1. 在 order-service 完成服务拉取
- 总结
前言
跟着B站的黑马程序员学习 SpringCloud,语言为java,目前是第二个学习内容
课程传送门:SpringCloud——Eureka
一、提供者与消费者
1. 服务调用关系
- 服务提供者:暴露接口给其他微服务调用
- 服务消费者:调用其他微服务提供的接口
- 提供者与消费者角色其实是相对的
二、远程调用的问题
三、eureka 原理分析
-
问:消费者该如何获取服务提供者具体信息?
① 服务提供者启动时向 eureka 注册自己的信息
② eureka 保存这些信息
③ 消费者根据服务名称向 eureka 拉取提供者信息 -
问:如果有多个服务提供者,消费者该如何选择?
① 服务消费者利用负载均衡算法,从服务列表中挑选一个 -
问:消费者如何感知服务提供者健康状态?
① 服务提供者会每隔 30 秒向 EurekaServer 发送心跳请求,报告健康状态
② eureka 会更新记录服务列表信息,心跳不正常会被剔除
③ 消费者就可以拉取到最新的信息
1. eureka 的作用
在 Eureka 架构中,微服务角色有两类:
-
EurekaServer:服务端,注册中心
① 记录服务信息
② 心跳监控 -
EurekaClient:客户端
① Provider:服务提供者
② consumer:服务消费者 -
Provider:服务提供者
① 注册自己的信息到 EurekaServer
② 每隔 30 秒向 EurekaServer 发送心跳 -
consumer:服务消费者
① 根据服务名称从 EurekaServer 拉取服务列表
② 基于服务列表作负载均衡,选中一个微服务后发起远程调用
四、Eureka 案例
-
搭建 EurekaServer
① 引入 eureka-server 依赖
② 添加 @EnableEurekaServer 注解
③ 在 application.yml 中配置 eureka 地址 -
服务注册
① 引入 eureka-server 依赖
② 在 application.yml 中配置 eureka 地址 -
服务发现
① 引入 eureka-server 依赖
② 在 application.yml 中配置 eureka 地址
③ 给 RestTemplate 添加 @LoadBalanced 注解
④ 用服务提供者的服务名称远程调用
1. 搭建 eureka 服务
1. 服务注册
1.1 注册 user-service
1.2 启动 user-service
3. order-service 完成服务注册
3. 服务发现
1. 在 order-service 完成服务拉取
总结
以上就是本章要讲的内容,本文仅仅简单复述了老师讲课的文本内容,内容有误麻烦联系。