learning_record_doc/微服务/eureka/Eureka注册中心.md
2022-12-31 17:33:47 +08:00

3.2 KiB
Raw Blame History

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依赖

<dependency>  
 <groupId>org.springframework.cloud</groupId>  
 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>  
</dependency>

2.3.编写启动类

给eureka-server服务编写一个启动类一定要添加一个@EnableEurekaServer注解开启eureka的注册中心功能

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文件内容如下

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

看到下面结果应该是成功了:

![](assets/Pasted image 20220405224233.png)

3.服务注册

3.1 引入依赖

在要注册服务的pom文件中引入euraka-client依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

3.2 配置文件

修改application.yml文件添加服务名称、eureka地址

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)