本菜鸟已有springboot开发经验,工作所用框架也是这个,想学一学springcloud,就跟着B站尚学堂SpringCloud课程学习。技术学习就该是看完一个框架自己做一个实际项目来巩固,但是本菜鸟不想(会)写前端地图等界面,所以所有操作都使用ApiPost软件来模拟,先介绍菜鸟整体架构设计、需求分析以及环境搭建情况吧。
一、需求分析
1. 需求来源
产品:我想要打车功能,同时还能在线支付打车费用,评价车主和本次行程,还有……
本菜鸟:下次直接说抄哪个APP!
产品:滴滴打车……
2. 具体需求
滴滴打车非常成熟的平台了,我不可能凭借一己之力去完成这么大的系统,但是里面的某些模块做出来对自己也是很大的提升。然而虽然大学学过《软件工程》这门计算机核心课,老师讲的很激情,但是我睡得很踏实,需求分析的能力…… emmm开始吧!
2.1 功能性需求
2.1.1 系统管理员(以下称为管理员)
管理员可以对整个系统进行管理,包括订单、所有角色的信息、车辆状态、订单状态等数据。
2.1.2 网约车车主(以下称为车主)
车主可以抢单、评价用户、钱包功能等
2.1.3 需求用户(以下称为打车人)
打车人可以发起订单、评价订单、评价车主、充值功能
2.2 非功能性需求
2.2.1 运行环境要求
提供Get、Post方法的接口,为Web网页或者App提供接口
2.3 设计约束
数据库:Mysql8.0
语言:Java(jdk1.8)
3. 性能要求
上面的需求甚至没有一个课程设计复杂,所以我的重点不是产品功能,而是设计所用技术。
技术脑图:点击查看
除了硬性要求使用技术(我是为了使用技术而使用技术),也硬性要求了性能,不过现在还没开始搭建所以优化参数也不好确定,等后期会修改这里的说明!
4. 硬件需求
主机:window10专业版64位、I5-9400f、16G
VM:Ubuntu16.04 64bit 、2G,具体如下:
IP | 配置 |
---|---|
192.168.100.101 | 1核2G |
192.168.100.102 | 1核2G |
192.168.100.103 | 1核2G |
192.168.100.201 | 1核2G |
192.168.100.202 | 1核2G |
192.168.100.203 | 1核2G |
二、基础环境搭建
1. Java环境 -> 搭建指南
使用大多数公司使用的jdk8作为学习平台
2. Nginx环境 -> 搭建指南
使用Nginx1.9.8搭建集群环境,使用keepalived监测Nginx是否活着。
3. Mysql环境 -> 搭建指南
使用Mysql8作为Mysql主从服务器以及分布式服务器的数据库