Eureka注册中心
作用:
- 记录服务信息,每个微服务的信息都会被注册到Erueka
- 每隔30秒做一次心跳检测
在Eureka架构中,把微服务分为两类:
EruekaServer:服务端,注册中心
- 记录服务信息
- 心跳监控
EruekaClient:客户端
- 服务提供者:1、注册自己的信息到EurekaServer 2、每隔30秒向EurekaServer发送心跳
- 服务消费者:1、根据服务名称从EurekaServer中拉去服务列表 2 、基于服务列表做负载均衡,选一个微服务后发起远程调用
搭建EurekaServer
- 创建项目,引入 spring-cloud-starter-netflix-eureka-server 依赖
<dependencies> <!--eureka服务端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> </dependencies>
-
编写启动类,添加@EnableEurekaServer注解
-
编写yml文件,配置eureka地址
server: port: 10086 #服务端口 spring: application: #eureka的服务名称 name: eurekaserver eureka: client: service-url: #配置的是eureka的地址信息 defaultZone: http://localhost:10086/eureka
服务注册(注册微服务)
- 在需要注册的微服务项目里引入 spring-cloud-starter-netflix-eureka-client依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
-
在application.yml文件,编写如下配置
spring: application: #微服务的服务名称 name: xxx eureka: client: service-url: #配置的是eureka的地址信息 defaultZone: http://localhost:10086/eureka
服务发现(去注册中心拉取需要调用的微服务的服务地址)
- 在启动类中给RestTemplate添加@LoadBalanced注解,实现负载均衡
- 用配置好的服务提供者的服务名称来远程调用
配置好后eureka中心里的微服务注册信息