本项目是天津大学《软件工程高级实践》课程的项目。根据《东软教育实战化教学项目》的项目任务书,我们开发了一个基于 SpringCloud+Vue 前后端分离的分布式项目,外卖点餐平台的“点餐业务线”的整体流程。
(1) 前端层:使用Vue框架实现用户界面,与后端微服务进行交互。
(2) 网关层:基于Spring Cloud Gateway实现API网关,负责请求的路由、负载均衡以及熔断降级等功能。
(3) 业务层:包含用户、商家、食品、购物车、订单、配送地址、虚拟钱包、积分等微服务,负责处理相应的业务逻辑。
(4) 数据访问层:使用MySQL和Redis作为数据存储,为业务层提供数据访问支持。
(5) 基础设施层:包括服务注册与发现、配置中心、消息队列等组件,为整个系统提供基础设施支持。
(1) 服务注册与发现(elm-eureka-server):基于Eureka实现,用于维护微服 务的注册与发现。
(2) 配置中心(elm-config-server):基于Spring Cloud Config实现,统一管理各个微服务的配置信息,配置从git仓库中获取。
(3) 业务层:包含用户、商家、食品、购物车、订单、配送地址、虚拟钱包、积分等微服务,负责处理相应的业务逻辑。
(4) 消息队列(RabbitMQ):实现系统间的异步通信,降低微服务之间的耦合度。
(5) 网关:负责请求的路由、负载均衡以及熔断降级等功能。
(1) 用户微服务(elm-user-server):处理与用户相关的业务逻辑,例如用户注册、登录等。
(2) 商家微服务(elm-business-server):处理与商家相关的业务逻辑。
(3) 食品微服务(elm-food-server): 处理食品表相关的业务。
(4) 购物车微服务(elm-cart-server):负责管理用户的购物车信息,包括添加、删除商品等操作。
(5) 订单微服务(elm-order-server):处理与订单相关的业务逻辑,例如创建订单、修改订单状态、查询订单等。
(6) 配送地址微服务(elm-delivery-server):负责管理用户的配送地址信息,包括添加、修改、删除地址等操作。
(7) 虚拟钱包微服务(elm-wallet-server):处理与用户虚拟钱包相关的业务逻辑,例如充值、支付、查询余额等。
(8) 积分微服务(elm-point-server):负责管理用户的积分信息,包括积分获取、消费、查询等操作。
在main分支里给出了项目的总文档。其他每一个分支都对应一个微服务。