Spring Cloud微服务实战:外卖订餐系统
项目需求
客户端:针对普通用户, 用户登录、用户退出、菜品订购、我的订单。
后台管理系统:针对管理员, 管理员登录、管理员退出、添加菜品、查询菜品、修改菜品、删除菜品、订单处理、添加用户、查询用户、删除用户。
account
提供账户服务:用户和管理的登陆退出。
menu
提供菜品服务:添加菜品、删除菜品、修改菜品、查询菜品。
order
提供订单服务:订单处理、添加订单、查询订单、删除订单。
user
提供用户服务:添加用户、查询用户、删除用户。
分离出一个服务消费者
,调用以上四个服务提供者,服务消费者包含了客户端的前端页面和后台接口、后台管理系统的前端页面和后台接口。用户/管理员直接访问的资源都保存在服务消费者中,服务消费者根据具体的需求调用四个服务提供者的业务逻辑,通过Feign实现负载均衡。
四个服务提供者和一个服务消费者都需要在注册中心进行注册,同时可以使用配置中心来对配置文件进行统一集中管理。
4个服务提供者和1个服务消费者都需要在注册中心完成注册,同时注册配置中心,提供远程配置信息读取,服务提供者和服务消费者的配置信息保存在 Git 远程仓库,由配置中心负责拉取,关系如下图所示。
本系统共有8个模块组成,包括注册中心,配置中心,Git 仓库配置信息,服务消费者,4个服务提供者。
系统架构搞清楚之后,接下来开始创建工程。
pom.xml 引入 Spring Boot 和 Spring Cloud 相关依赖,其中 JAXB API 的依赖只针对 JDK 9 以上版本,如果你是 JDK 9 以下版本,不需要配置。
效果图如下:
注册中心:
登录界面:
用户界面1:
用户界面2:
管理员界面:
【视频参考】https://www.bilibili.com/video/BV1W4411V7fu 【代码参考】https://github.com/monkeyhlj/springboot-vue
下载代码后,将各个微服务开启后访问http://localhost:8030/login.html
即可进入登录界面(如上图)