# 基于Spring Cloud的微服务架构项目
## 项目概述
本项目是一个基于Spring Cloud的微服务架构示例,涵盖了服务注册与发现、负载均衡、声明式服务调用、统一配置中心、异步消息、微服务网关、服务容错、服务追踪以及容器化部署等多个方面。通过本项目,可以深入理解Spring Cloud生态系统的核心组件及其在实际应用中的使用。
## 开发环境
- **部署环境**:阿里云ECS服务器
- **操作系统**:CentOS 7.7 64位
- **IDEA版本**:2019.3.1
- **Docker版本**:1.13.1
- **Docker Compose版本**:1.25.0
- **Spring Cloud版本**:Hoxton.SR1
- **Spring Boot版本**:2.2.2.RELEASE
- **MySQL版本**:5.7
- **Redis版本**:5.0.7
- **RabbitMQ版本**:3.8.2-management
- **Zipkin版本**:2.19.2
## 端口映射信息
- eureka1:8761
- eureka2:8762
- config-server:8888
- shopping-product:11100
- shopping-order:11110
- api-gateway:8080
- open-api:8081
## 源码地址
## 项目结构
```
spring-cloud-app
--api-gateway(服务网关)
--config-server(统一配置中心)
--eureka-server(服务注册中心)
--shopping-common(购物公共模块)
--shopping-product(商品服务模块)
--shopping-order(订单服务模块)
```
## 系统架构
![系统架构图](https://typora-lancelot.oss-cn-beijing.aliyuncs.com/typora/20200120110547-638144.png)
## 主要功能模块
### 服务注册与发现(Eureka)
- **Eureka Server**:服务注册中心,提供服务注册与发现功能。
- **Eureka Client**:服务提供者和服务消费者,向Eureka Server注册和发现服务。
### 负载均衡(Ribbon)
- 客户端负载均衡,通过Ribbon实现服务的负载均衡调用。
### 声明式服务调用(Feign)
- 通过Feign实现声明式服务调用,简化服务间的调用。
### 统一配置中心(Config)
- 集中管理配置文件,支持配置的动态刷新。
### 异步消息(Stream)
- 通过Spring Cloud Stream集成RabbitMQ,实现订单和库存的异步处理。
### 微服务网关(Zuul)
- 提供统一的API网关,实现路由转发、过滤器、限流等功能。
### 服务容错(Hystrix)
- 通过Hystrix实现服务熔断、降级、限流等功能,提高系统的稳定性。
### 服务追踪(Sleuth & Zipkin)
- 通过Sleuth和Zipkin实现分布式服务调用链的追踪和监控。
### 容器化部署(Docker & Docker Compose)
- 通过Docker和Docker Compose实现服务的容器化部署和编排。
## 使用说明
1. **克隆项目**:
```bash
```
2. **构建项目**:
```bash
mvn clean install
```
3. **启动服务**:
- 启动Eureka Server:
```bash
cd eureka-server
mvn spring-boot:run
```
- 启动其他服务:
```bash
cd <服务模块>
mvn spring-boot:run
```
4. **访问服务**:
- Eureka管理界面:[http://localhost:8761](http://localhost:8761)
- API网关:[http://localhost:8080](http://localhost:8080)
## 参考文档
- [Spring Cloud官方文档](https://spring.io/projects/spring-cloud)
- [Spring Boot官方文档](https://spring.io/projects/spring-boot)
- [Docker官方文档](https://docs.docker.com/)
- [RabbitMQ官方文档](https://www.rabbitmq.com/documentation.html)
- [Zipkin官方文档](https://zipkin.io/pages/documentation.html)
## 联系我们
如有任何问题或建议,请联系项目维护者:[lancelot@example.com](mailto:lancelot@example.com)
---
© 2020 Lancelot. All rights reserved.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Spring Cloud的微服务架构项目 项目概述 本项目是一个基于Spring Cloud的微服务架构示例,涵盖了服务注册与发现、负载均衡、声明式服务调用、统一配置中心、异步消息、微服务网关、服务容错、服务追踪以及容器化部署等多个方面。通过本项目,可以深入理解Spring Cloud生态系统的核心组件及其在实际应用中的使用。 开发环境 部署环境阿里云ECS服务器 操作系统CentOS 7.7 64位 IDEA版本2019.3.1 Docker版本1.13.1 Docker Compose版本1.25.0 Spring Cloud版本Hoxton.SR1 Spring Boot版本2.2.2.RELEASE MySQL版本5.7 Redis版本5.0.7 RabbitMQ版本3.8.2management Zipkin版本2.19.2 端口映射信息 eureka18761 eureka28762 configserver8888 shoppingproduct11100 shoppingorder11110 apigateway
资源推荐
资源详情
资源评论
收起资源包目录
基于Spring Cloud的微服务架构项目.zip (79个子文件)
pom.xml 2KB
shopping-product
pom.xml 2KB
src
test
java
tech
lancelot
shoppingproduct
ShoppingProviderApplicationTests.java 2KB
main
resources
bootstrap.yml 308B
java
tech
lancelot
shoppingproduct
repository
ProductInfoRepository.java 3KB
ProductCategoryRepository.java 2KB
configuration
GlobalExceptionHandler.java 3KB
ShoppingProductApplication.java 2KB
controller
ProductController.java 9KB
EnvController.java 2KB
service
ProductService.java 9KB
stream
ProductStream.java 2KB
domain
ProductCategory.java 2KB
ProductInfo.java 4KB
.gitignore 364B
config-server
pom.xml 1KB
src
test
java
tech
lancelot
configserver
ConfigServerApplicationTests.java 1KB
main
resources
application.yml 561B
java
tech
lancelot
configserver
ConfigServerApplication.java 2KB
Dockerfile 118B
.gitignore 361B
build.sh 98B
shopping-order
pom.xml 3KB
src
test
java
tech
lancelot
shoppingorder
service
OrderServiceTest.java 5KB
main
resources
bootstrap.yml 705B
java
tech
lancelot
shoppingorder
repository
OrderDetailRepository.java 2KB
OrderMasterRepository.java 2KB
client
ProductClient.java 3KB
controller
OrderController.java 4KB
HystrixController.java 4KB
service
OrderService.java 7KB
stream
OrderStream.java 2KB
ShoppingOrderApplication.java 3KB
domain
OrderMaster.java 4KB
OrderDetail.java 3KB
config
RestTemplateConfiguration.java 2KB
open-api
pom.xml 1KB
src
main
resources
bootstrap.yml 206B
java
tech
lancelot
openapi
controller
TestController.java 2KB
OpenapiApplication.java 2KB
open-api.iml 19KB
target
classes
tech
lancelot
openapi
controller
TestController.class 707B
OpenapiApplication.class 815B
bootstrap.yml 206B
docker-compose.yml 1KB
eureka-server
pom.xml 781B
src
test
java
tech
lancelot
eurekaserver
EurekaServerApplicationTests.java 1KB
main
resources
application.yml 280B
java
tech
lancelot
eurekaserver
EurekaServerApplication.java 2KB
Dockerfile 131B
.gitignore 364B
build.sh 98B
shopping-common
pom.xml 1023B
src
main
java
tech
lancelot
shoppingcommon
utils
ListUtils.java 3KB
KeyUtil.java 2KB
enums
OrderStatus.java 2KB
ProductStatus.java 2KB
PayStatus.java 2KB
dto
ProductCategoryOutput.java 2KB
OrderInput.java 4KB
OrderItemInput.java 2KB
ResultVo.java 3KB
ProductInfoOutput.java 3KB
StockResultOutput.java 1KB
StockApplyInput.java 2KB
api-gateway
pom.xml 2KB
src
main
resources
bootstrap.yml 281B
java
tech
lancelot
apigateway
repository
AccessInfoRepository.java 2KB
security
AccessStatus.java 2KB
AccessInfo.java 3KB
RateLimitFilter.java 4KB
AccessFilter.java 5KB
configuration
ZuulConfiguration.java 2KB
ApiGatewayApplication.java 3KB
service
AccessInfoService.java 3KB
filter
TokenFilter.java 4KB
AddResHeaderFilter.java 4KB
README.md 4KB
build.sh 43B
共 79 条
- 1
资源评论
t0_54coder
- 粉丝: 2380
- 资源: 1821
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功