Spring Cloud微服务实战:外卖订餐系统

项目需求

客户端:针对普通用户, 用户登录、用户退出、菜品订购、我的订单。

后台管理系统:针对管理员, 管理员登录、管理员退出、添加菜品、查询菜品、修改菜品、删除菜品、订单处理、添加用户、查询用户、删除用户。

外卖平台 架构图 外卖平台系统流程图_外卖平台 架构图


account提供账户服务:用户和管理的登陆退出。

menu提供菜品服务:添加菜品、删除菜品、修改菜品、查询菜品。

order提供订单服务:订单处理、添加订单、查询订单、删除订单。

user提供用户服务:添加用户、查询用户、删除用户。

分离出一个服务消费者,调用以上四个服务提供者,服务消费者包含了客户端的前端页面和后台接口、后台管理系统的前端页面和后台接口。用户/管理员直接访问的资源都保存在服务消费者中,服务消费者根据具体的需求调用四个服务提供者的业务逻辑,通过Feign实现负载均衡。

四个服务提供者和一个服务消费者都需要在注册中心进行注册,同时可以使用配置中心来对配置文件进行统一集中管理。

4个服务提供者和1个服务消费者都需要在注册中心完成注册,同时注册配置中心,提供远程配置信息读取,服务提供者和服务消费者的配置信息保存在 Git 远程仓库,由配置中心负责拉取,关系如下图所示。

外卖平台 架构图 外卖平台系统流程图_外卖平台 架构图_02


本系统共有8个模块组成,包括注册中心,配置中心,Git 仓库配置信息,服务消费者,4个服务提供者。

系统架构搞清楚之后,接下来开始创建工程。

pom.xml 引入 Spring Boot 和 Spring Cloud 相关依赖,其中 JAXB API 的依赖只针对 JDK 9 以上版本,如果你是 JDK 9 以下版本,不需要配置。

效果图如下:

注册中心:

外卖平台 架构图 外卖平台系统流程图_java_03


登录界面:

外卖平台 架构图 外卖平台系统流程图_服务提供者_04


用户界面1:

外卖平台 架构图 外卖平台系统流程图_外卖平台 架构图_05


用户界面2:

外卖平台 架构图 外卖平台系统流程图_外卖平台 架构图_06

管理员界面:

外卖平台 架构图 外卖平台系统流程图_外卖平台 架构图_07


【视频参考】https://www.bilibili.com/video/BV1W4411V7fu 【代码参考】https://github.com/monkeyhlj/springboot-vue

下载代码后,将各个微服务开启后访问http://localhost:8030/login.html即可进入登录界面(如上图)