项目简介
本项目是一个基于Spring Cloud框架的部门管理系统,提供分布式微服务架构解决方案,用于管理公司内部的部门信息。借助Spring Cloud的各个组件,实现了服务注册与发现、负载均衡、服务熔断、配置中心等功能,保障系统的高可用性和可扩展性。
项目的主要特性和功能
- 服务注册与发现:采用Eureka作为服务注册中心,实现服务自动注册与发现,通过Eureka集群提升系统可用性和容错能力。
- 负载均衡:利用Ribbon和Feign实现客户端负载均衡,使请求均匀分布到多个服务实例,支持随机、轮询等自定义负载均衡策略。
- 服务熔断与降级:使用Hystrix实现服务熔断和降级机制,防止服务故障扩散,通过Hystrix Dashboard监控服务调用情况。
- API网关:以Zuul作为API网关,统一管理外部请求,进行路由和过滤。
- 分布式配置中心:借助Spring Cloud Config实现分布式配置中心,集中管理各微服务的配置信息。
- 部门管理功能:提供部门的增删查改功能,支持按部门编号查询和查询所有部门信息,通过Feign和Ribbon实现部门服务调用和负载均衡。
安装使用步骤
1. 环境准备
- 安装Java 8及以上版本。
- 安装Maven用于项目构建和依赖管理。
- 可选安装Docker用于容器化部署。
2. 复制项目
bash
cd springcloud-study
3. 配置文件
修改application.yml
或application.properties
文件,配置数据库连接、Eureka注册中心地址、Zuul网关地址等。
4. 启动服务
- 启动Eureka服务注册中心:
bash cd springcloud-study-euraka-7001 mvn spring-boot:run
依次启动springcloud-study-euraka-7002
和springcloud-study-euraka-7003
。 - 启动部门服务提供者:
bash cd springcloud-study-provider-dept-8001 mvn spring-boot:run
依次启动springcloud-study-provider-dept-8002
和springcloud-study-provider-dept-8003
。 - 启动部门服务消费者:
bash cd springcloud-study-consumer-dept-80 mvn spring-boot:run
启动springcloud-study-consumer-dept-feign
。 - 启动Hystrix Dashboard:
bash cd springcloud-study-consumer-hystrix-dashboard mvn spring-boot:run
- 启动Zuul网关:
bash cd springcloud-study-zuul-gateway-9527 mvn spring-boot:run
- 启动Config配置中心:
bash cd springcloud-study-config-3344 mvn spring-boot:run
启动springcloud-study-config-client-3355
。
5. 访问服务
- 访问Eureka服务注册中心:
http://localhost:7001
- 访问Hystrix Dashboard:
http://localhost:9001/hystrix
- 访问Zuul网关:
http://localhost:9527
6. 测试部门管理功能
- 添加部门:发送POST请求到
http://localhost:80/consumer/dept/add
,请求体为部门实体JSON。 - 查询部门:发送GET请求到
http://localhost:80/consumer/dept/findById/{deptNo}
,查询指定部门。 - 查询所有部门:发送GET请求到
http://localhost:80/consumer/dept/findAll
,查询所有部门。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】