Eureka在微服务中充当的作用是服务的发现和注册,根据充当的功能角色的不同,Eureka可分为Eureka Server和Eureka Client,Eureka Server的作用是充当系统的服务注册中心,集群方式部署的时候本身既是一个注册中心又是一个服务的提供者;Eureka Client是一个服务的提供者,所起的作用将自身提供的服务注册到注册中心中供其他的服务调用,围绕着Eureka的作用将从下面的几个部分展开讲解。
单机版本Eureka Server及Eureka Client
接下来开始针对单机版本的Eureka Server和Eureka Client创建两个springboot的项目,不过创建的过程中需要分别引入springcloud的实现组件Eureka的相关依赖,核心的依赖主要如下
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
1、Eureka Server和Eureka Client依赖完整配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.kkcl</groupId>
<artifactId>coding</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>coding</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置文件和主启动类
1、Eureka-Server
配置文件
server.port=8000
#集成Eureka相关配置
eureka.instance.hostname=127.0.0.1
#是否向注册中心注册
eureka.client.register-with-eureka=false
#是否检索服务
eureka.client.fetch-registry=false
#配置服务中心的内容,指定注册中心的位置
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8000/eureka/
主启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class CodingApplication {
public static void main(String[] args) {
SpringApplication.run(CodingApplication.class, args);
}
}
2、Eureka-Client
配置文件
server.port=8001
#服务的名称
spring.application.name=eureka-client01
#服务注册中心的地址
eureka.client.service-url.defaultZone=http://127.0.0.1:8000/eureka/
主启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.Map;
@EnableEurekaClient
@SpringBootApplication
public class CodingApplication {
public static void main(String[] args) {
SpringApplication.run(CodingApplication.class, args);
}
}
测试
在完成上述的工作后,分别启动Eureka Server和Eureka Client,并访问http://localhost/8000,如果能看到下面的显示效果,说明搭建单机版本模式Eureka Server和Eureka Client成功了。
参考资料
[1]、https://blog.youkuaiyun.com/weixin_45267102/article/details/109169600