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

在这里插入图片描述

<dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>

        spring-cloud-starter-netflix-eureka-server

            </artifactId>

        </dependency>
<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版本
Angle1.2.x
Brixton1.3.x, 1.4.x
Camden1.4.x, 1.5.x
Dalston / Edgware1.5.x
Finchley2.0.x
Greenwich2.1.x

实际上,Spring Cloud 和 Spring Boot 都有多个版本,且随着时间的发展,会有新的版本发布。如果您需要最新的兼容性信息,建议查阅官方文档或发行说明。

<spring-cloud.version>Finchley.SR2</spring-cloud.version>
在这里插入图片描述
现在就好了 Spring
在这里插入图片描述

步骤2:添加Eureka的相关配置

在全局配置文件application.yml中添加Eureka的相关配置信息。(注:项目自动生成的配置文件为application.properties,我们直接将后缀名改掉就行。这两个文件格式都可以,只是内部的内容格式不同。)
.png)

步骤3:在项目启动内添加@EnableEurekaServer注解

在项目启动类EurekaServerApplication上添加@EnableEurekaServer注解开启Eureka Server功能。
在这里插入图片描述
在这里插入图片描述
以上步骤要小心,
在这里插入图片描述
先卸载7.10.2,
在pom添加
将原先7.10修改。

org.testng testng 6.9.10 test

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐