项目简介
本项目是基于Spring Boot和Spring Cloud框架构建的电商微服务系统。采用微服务架构,包含商品、购物车、订单、快递单等多个微服务,各微服务独立部署,通过RESTful API通信,达成高内聚低耦合。同时运用响应式编程模型,可应对高并发访问,具备良好的健壮性和弹性。
项目的主要特性和功能
商品服务
- 支持按页码和每页大小分页浏览商品,默认每页64个。
- 可根据商品ID查询单个商品详细信息。
购物车服务
- 获取当前用户的所有购物车项。
- 向购物车添加新商品。
- 更新购物车中指定商品的数量。
- 删除购物车中的指定商品。
订单服务
- 获取当前用户的所有订单。
- 根据订单ID查询单个订单详细信息。
快递单服务
- 获取当前用户的所有快递单。
- 根据订单ID查询相关快递单。
- 根据快递单ID查询单个快递单详细信息。
购买服务
- 根据购物车项生成订单和快递单,并清空购物车。
设计思想
- 响应式架构:用Spring Webflux实现响应式编程,分离“接收请求”和“处理请求”,提升并发处理能力。
- 健壮性:通过Gateway服务统一处理错误信息。
- 弹性:采用微服务架构,便于水平扩展。
- 松耦合:以消息驱动实现微服务间调用,降低耦合度。
- REST风格:遵循RESTful API设计原则。
安装使用步骤
环境准备
- JDK 1.8 或更高版本
- Maven 3.x
- MySQL 5.7 或更高版本
- RabbitMQ
复制项目
bash
cd your-repo
配置数据库
在application.properties
文件中配置数据库连接信息:
properties
spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase
spring.datasource.username=yourusername
spring.datasource.password=yourpassword
启动服务
依次启动以下服务: 1. Discovery Server 2. Gateway 3. Product Service 4. Cart Service 5. Order Service 6. Delivery Service
访问服务
通过Gateway服务的地址访问各个微服务的API,例如:
- 获取商品列表:GET http://localhost:8080/products
- 添加购物车项:POST http://localhost:8080/cart
测试
使用Postman或其他API测试工具进行接口测试,确保各个服务正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】