网站设计中建设规划和准备阶段河北seo技术交流
Spring Cloud Eureka是Netflix开发的注册发现组件,本身是一个基于REST的服务。提供注册与发现,同时还提供了负载均衡、故障转移等能力。
Eureka组件的三个角色
- 服务中心
- 服务提供者
- 服务消费者
- Eureka Server:服务器端。提供服务的注册和发现功能,实现服务的治理。
- Service Provider:服务提供者。将自身服务注册到Eureka Server中,方便“服务消费者”能够通过服务器端提供的服务清单(注册服务列表)来进行调用。
- Service Consumer:服务消费者。它从Eureka Server获取“已注册的服务列表”,从而消费服务。
单机demo的实现
创建demo的父工程
New Project
创建一个maven工程。
进行pom文件的编写
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.lzh</groupId><artifactId>eureka-demo</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.0</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.0</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
</project>
创建Eureka Server模块
创建模块
编写Eureka-Server的pom文件
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.lzh</groupId><artifactId>eureka-demo</artifactId><version>1.0-SNAPSHOT</version><relativePath>../../pom.xml</relativePath></parent><artifactId>eureka-server</artifactId><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- eureka server依赖文件 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>
创建Eureka Server的主启动类
@SpringBootApplication
// 开启Eureka服务的注解
@EnableEurekaServer
public class EurekaServerApplication {public static void main(String[] args) {new SpringApplicationBuilder(EurekaServerApplication.class).web(WebApplicationType.SERVLET).run(args);}
}
创建Eureka Server的配置文件
spring:application:name: eureka-server
server:port: 20000
eureka:instance:# eureka服务端实例的名字hostname: eureka-serverclient:# 是否将自己注册到eureka服务上register-with-eureka: false# 表示是否从eureka server获取注册的服务信息fetch-registry: false# 设置与eureka Server交互的地址查询服务和注册服务的地址service-url:defaultZone: http://localhost:20000/eureka/
访问Eureka Server
在浏览器中输入:localhost:20000
得到以上界面说明整个demo构建成功。