一、eureka简介
eureka主要用来实现服务的注册、发现,服务的调用者通过服务的标识符就可以访问到服务。参考资料一 、参考资料二 、参考资料三 、参考资料四
通过eureka,我们可以实现服务上线、下线(宕机)的动态感知,方便服务调用者。同时,eureka包含了ribbon依赖,实现了java后台程序客户端的负载均衡。
二、通过demo来学习
这次学习eureka,我们构建三个spring项目,分别是eureka注册服务项目、订单服务项目、用户服务项目。
1、eureka-service注册服务项目
(1)、项目依赖
<?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.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>eureka-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-service</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</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>
(2)、application.properties配置
server.port=9090
spring.application.name=eureka-service
#指向服务注册中心的地址
eureka.client.service-url.defaultZone=http://localhost:9090/eureka
#设置服务提供者不发起注册,既自己不注册自己
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#关闭自我保护,确保注册中心将不可用的实例删除
eureka.server.enable-self-preservation=false
#eureka server刷新readCacheM