标题
- Eureka工作原理
-
- [Spring Cloud框架下的服务发现Eureka包含两个组件,分别是:Eureka Server与Eureka Client。](#Spring Cloud框架下的服务发现Eureka包含两个组件,分别是:Eureka Server与Eureka Client。)
-
-
-
- [Eureka Server:](#Eureka Server:)
- [Eureka Client:](#Eureka Client:)
-
-
- [搭建Eureka Server](#搭建Eureka Server)
Eureka工作原理
服务的注册发现对于微服务来说是一个非常重要的环节。在微服务架构中,每个服务(Service)是动态变化的,难以通过静态配置的方式维护服务,需要用到服务发现框架来完成服务(Service)的自动化管理。
Eureka是Netflix开发的服务发现框架,Spring Cloud将Eureka集成到子项目Spring-Cloud-Netflix中实现服务发现功能。
Spring Cloud框架下的服务发现Eureka包含两个组件,分别是:Eureka Server与Eureka Client。
Eureka Server:
Eureka Server,也称为服务注册中心。各个服务启动后,会在Eureka Server中进行注册,这样Eureka Server的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client:
Eureka Client也称为服务(服务实例)。作为一个Java客户端,用于简化与Eureka Server的交互。Eureka Client内置一个使用轮询负载算法的负载均衡器。服务启动后,Eureka Client将会向Eureka Server发送心跳更新服务,如果Eureka Server在多个心跳周期内没有接收到某个服务的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
搭建Eureka Server
步骤:
1.创建项目,引入依赖
2.添加Eureka相关配置
3.添加@EnableEurekaServer注解
4.测试运行
步骤1:创建项目,引入依赖
使用Spring Initializr方式创建一个名称为eureka-server的Spring Boot项目,这里将Group命名为com.bushuo,将Artifact命名为eureka-server,在pom.xml文件中添加Eureka Server依赖。
java
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-server
</artifactId>
</dependency>
java
<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>
将依赖添加进去,会爆红
Cannot resolve org.springframework.cloud:spring-cloud-starter-netflix-eureka-server:unknown
我的话需要Finchley
Spring官网
Spring Cloud版本 | 兼容的Spring Boot版本 |
---|---|
Angle | 1.2.x |
Brixton | 1.3.x, 1.4.x |
Camden | 1.4.x, 1.5.x |
Dalston / Edgware | 1.5.x |
Finchley | 2.0.x |
Greenwich | 2.1.x |
实际上,Spring Cloud 和 Spring Boot 都有多个版本,且随着时间的发展,会有新的版本发布。如果您需要最新的兼容性信息,建议查阅官方文档或发行说明。
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
现在就好了 Spring
步骤2:添加Eureka的相关配置
在全局配置文件application.yml中添加Eureka的相关配置信息。(注:项目自动生成的配置文件为application.properties,我们直接将后缀名改掉就行。这两个文件格式都可以,只是内部的内容格式不同。)
步骤3:在项目启动内添加@EnableEurekaServer注解
在项目启动类EurekaServerApplication上添加@EnableEurekaServer注解开启Eureka Server功能。
以上步骤要小心,
先卸载7.10.2,
在pom添加
将原先7.10修改。
org.testng testng 6.9.10 test