# 1.Eureka注册中心的作用 在Eureka架构中,微服务角色分为两类 + EurekaServer:服务端,注册中心 + 记录服务信息 + 心跳监控 + EurekaClient:客户端 + 注册自己的信息到EurakaServer中 + 每隔30秒向EurakaServer发送心跳 + 根据服务名称向其他客户端发起远程调用 + 基于服务列表做负载均衡,选中一个服务后发起远程调用 # 2.搭建eureka-server 首先大家注册中心服务端:eureka-server,这必须是一个独立的微服务 ## 2.1.创建eureka-server服务 在cloud-demo父工程下,创建一个子模块: ![](assets/Pasted image 20220405222734.png) 填写模块信息: ![](assets/Pasted image 20220405223018.png) 然后填写服务信息: ![](assets/Pasted image 20220405223056.png) ## 2.2.引入eureka依赖 引入SpringCloud为eureka提供的starter依赖: ```xml org.springframework.cloud spring-cloud-starter-netflix-eureka-server ``` ## 2.3.编写启动类 给eureka-server服务编写一个启动类,一定要添加一个@EnableEurekaServer注解,开启eureka的注册中心功能: ```java package cn.itcast.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } } ``` ## 2.4.编写配置文件 编写一个application.yml文件,内容如下: ```yaml server: port: 10086 spring: application: name: eureka-server eureka: client: service-url: defaultZone: http://127.0.0.1:10086/eureka ``` ## 2.5.启动服务 启动微服务,然后在浏览器访问:[http://127.0.0.1:10086](http://127.0.0.1:10086) 看到下面结果应该是成功了: ![](assets/Pasted image 20220405224233.png) # 3.服务注册 ## 3.1 引入依赖 在要注册服务的pom文件中引入euraka-client依赖: ```xml org.springframework.cloud spring-cloud-starter-netflix-eureka-client ``` ## 3.2 配置文件 修改application.yml文件,添加服务名称、eureka地址: ```yaml spring: application: name: userservice #当前服务名称 eureka: client: service-url: defaultZone: http://127.0.0.1:10086/eureka #eureka-server 地址 ``` ## 3.3启动多个userservice实例 为了演示一个服务有多个实例的场景,我们添加一个SpringBoot的启动配置,再启动一个user-service。 首先,复制原来的user-service启动配置: ![](assets/Pasted image 20220405224152.png) 然后,在弹出的窗口中,填写信息: ![](assets/Pasted image 20220405224314.png) 现在,SpringBoot窗口会出现两个user-service启动配置: ![](assets/Pasted image 20220405224333.png) 不过,第一个是8081端口,第二个是8082端口。 启动两个user-service实例: ![](assets/Pasted image 20220405224355.png) 查看eureka-server管理页面: ![](assets/Pasted image 20220405224406.png)