# 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
<dependency>  
 <groupId>org.springframework.cloud</groupId>  
 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>  
</dependency>
```

## 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
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
```

## 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)