1. Spring Cloud Eureka 简介
注册发现中心
Eureka 来源于古希腊词汇,意为“发现了”。在软件领域, Eureka 是 Netflix 在线影片 公司开源的一个服务注册与发现的组件,和其他 Netflix 公司的服务组件(例如负载均衡、 熔断器、网关等) 一起,被 Spring Cloud 社区整合为 Spring Cloud Netflix 模块。 Eureka 是 Netflix 贡献给 Spring Cloud 的一个框架!Netflix 给 Spring Cloud 贡 献了很多框架,后面我们会学习到!
2. Spring Cloud Eureka 和 Zookeeper 的区别
2.1 什么是CAP原则
在分布式 微服务里面 CAP 定理
CAP 原则又称 CAP 定理,指的是在一个分布式系统中,
一致性(Consistency)
可用性(Availability)
分区容错性(Partition tolerance)
(这个特性是不可避免的)
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
3. Spring Cloud Eureka 快速入门
3.1 搭建Eureka-server
3. 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 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.3.12.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yzx</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>Hoxton.SR12</spring-cloud.version>
</properties>
<dependencies>
<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>
4. 配置文件
# 配置端口
server:
port: 8761 # 端口为8761
# spring配置项
spring:
application:
name: eureka-server # 服务名称
4. 开启eureka注册服务
@SpringBootApplication
@EnableEurekaServer // 开启 eureka注册中心 服务
public class EurekaServiceApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServiceApplication.class, args);
}
}
5. 访问测试
启动项目访问地址 http://localhost:8761
至此eureka-service搭建成功
3.2 搭建Eureka-client
项目创建如同搭建euraka-server一样创建好对应的模块,
1. 开启eureka客户端服务
@SpringBootApplication
@EnableEurekaClient // 注册 本服务为 eureka 客户端服务
public class EurekaClientAApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientAApplication.class, args);
}
}
2. 配置文件
# 配置端口
server:
port: 8080 # 8080端口
# spring配置项
spring:
application:
name: eureka-client-a # 服务名称
# 注册自己到eureka注册中心去
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka
3. 启动测试
发现服务已经注册过来了。
版权声明:本文为weixin_43919497原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。