文章目录
背景
- 分布式微服务架构的核心是对应用按单一职责进行拆分,形成独立部署的服务单元。随着服务的不断水平扩展,需要有专门的服务治理组件来管理和保证微服务的可用性。
- Eureka是Netflix开源微服务框架中专门进行服务发现及治理的组件,Spring Cloud对其进行了二次封装,并与Spring Boot紧密集成。
- 本文将通过实战掌握Eureka基本的使用。
一、Eureka Server搭建
1.1 创建Spring Cloud工程
- 通过Spring网站创建项目
- 设置项目属性
- 选择Spring Cloud Discovery
- 自动生成项目结构及下载jar包
1.2 修改启动类
- 只需要增加@EnableEurekaServer注解,Spring Boot在启动应用的时候就会自动构建一个默认的服务治理服务器。
/**
* Eureka服务启动类
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
1.2 增加Eureka配置
- 在项目配置文件application.properties中增加Eureka相关配置
# 服务器端口
server.port=8761
# 服务名称
spring.application.name=eureka-server
# 是否将自己注册到Eureka服务中
# 服务本身就是服务治理服务器,而且尚未构建任何服务治理集群,因此将其设置为false
eureka.client.register-with-eureka=false
# 是否从Eureka中获取注册信息
eureka.client.fetch-registry=false
1.3 启动Eureka服务器
- 启动Eureka服务器项目,并通过http://localhost:8761访问Eureka控制台
二、搭建Eureka服务提供者
2.1 创建商品服务项目
- 建立SpringBoot工程
- 设置项目名称为goods-service
- 勾选Spring Cloud Discovery- Eureka Discovery Client
- 增加 spring-boot-starter-web依赖
2.2 修改启动类
- 在应用引导类中增加@EnableDiscoveryClient注解:通过该注解,在Spring Boot启动完毕之后,就会根据配置中的信息尝试与服务治理服务器进行连接,连接成功之后进行服务注册或者服务注册信息的同步。
/**
* 商品服务启动类
*/
@EnableEurekaClient
@SpringBootApplication
public class GoodsServiceApplication {
public static void main(String[] args) {
SpringApplication.run(GoodsServiceApplication.class