CMS网站建设优势,php淘客网站开发,wordpress废弃函数,男女做暧暧网站前言
在 Eureka 架构中#xff0c;微服务角色有两类#xff1a; EurekaServer #xff1a;服务端#xff0c;注册中心 记录服务信息 心跳监控
EurekaClient #xff1a;客户端 Provider #xff1a;服务提供者#xff0c;例如案例中的 user-service … 前言
在 Eureka 架构中微服务角色有两类 EurekaServer 服务端注册中心 记录服务信息 心跳监控
EurekaClient 客户端 Provider 服务提供者例如案例中的 user-service 注册自己的信息到 EurekaServer 每隔 30 秒向 EurekaServer 发送心跳 consumer 服务消费者例如案例中的 order-service 根据服务名称从 EurekaServer 拉取服务列表 基于服务列表做负载均衡选中一个微服务后发起远程调用
架构图 常见问题
消费者该如何获取服务提供者具体信息 服务提供者启动时向 eureka 注册自己的信息 eureka 保存这些信息 消费者根据服务名称向 eureka 拉取提供者信息
如果有多个服务提供者消费者该如何选择 服务消费者利用负载均衡算法从服务列表中挑选一个
消费者如何感知服务提供者健康状态 服务提供者会每隔 30 秒向 EurekaServer 发送心跳请求报告健康状态 eureka 会更新记录服务列表信息心跳不正常会被剔除 消费者就可以拉取到最新的信息 一、Eureka服务端搭建
1. 创建项目引入 spring-cloud-starter-netflix-eureka-server 的依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId
/dependency
2. 编写启动类添加 EnableEurekaServer 注解 3. 添加 application.yml 文件编写下面的配置
server:port: 10086
spring:application:name: eurekaserver
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/
启动后访问管理页面http://127.0.0.1:10086 二、Eureka服务注册
1. 分别 user-service 和 order-service 项目中引入 spring-cloud-starter-netflix-eureka-client 的依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId
/dependency
2. 在 application.yml 文件分别编写下面的配置
spring:application:name: userservice #orderservice
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka/
这里还可以通过复制userService配置 修改VM-Dserver.port8082模拟一个服务启动多个实例 三、Eureka服务发现服务拉取
下面以在 order-service 服务中拉取 user-service中的查询用户信息接口为例 1、用服务提供者的 服务名称 远程调用服务接口
String url http://userservice/user/ order.getUserId();
2、给 RestTemplate 添加 LoadBalanced 注解实现多示例负载均衡
Bean
LoadBalanced
public RestTemplate restTemplate() {return new RestTemplate();
}