相关文章
- 《从零开始的毕业设计》-ELS中台快递物流调度系统(一)搭建项目环境 - 掘金 (juejin.cn)
- 《从零开始的毕业设计》-ELS中台快递物流调度系统(二)基本订单功能 - 掘金 (juejin.cn)
- 《从零开始的毕业设计》-ELS中台快递物流调度系统(三)基本物流地址功能 - 掘金 (juejin.cn)
前言
博主是一名大四🐕,正准备找工作和毕业设计,某一天在掘金中发现一篇文章讲的是中台思想设计的物流调度系统。直呼绝绝子!
基于中台思想的物流系统设计(一) - 掘金 (juejin.cn) @银河1号
里面的作者给出了一个大概的系统设计架构,和一些数据表的设计。但是没有给源码实现。 我心想,这不刚好能照着作者的思路设计好嘛,对于我这种新手小白来说,已经帮我越过了很多歪路。
于是便有了《从零开始的毕业设计》这个系列,当作是抛砖引玉,把我走过的一些坑,和思考的过程记录下来。
如果你在阅读的过程中,感觉到恶心、晕眩等不适症状....都是正常现象。水平有限,还请多多包容,要是能够在评论区留下你的宝贵意见,帮助博主改善十年脑血栓,那就更好了!
搭建环境
项目工程部分
Q: 设计系统第一步是什么?
那当然是创建文件夹(项目)
项目名字
在创建项目之前,我们还要为我们的项目起一个名字,我的导师建议是一个比较具体的管理系统,因此我想到了快递物流调度系统。为了更加高端大气一点,我们起一个洋气一点的。
快递调度系统(Express logistics system)
从原作者那边明白了系统的设计大概,主要是分为基础能力层和产品服务层。而产品服务层是由基础能力层的基础上扩展而来的。
并且原作者已经把基础能力层划分好了四个部分:
这边我对他进行一些扩展变成五个部分(多了一个用户能力):
并且我还希望这个项目能显得牛一点,就直接上微服务了,其实像平时课程大作业、毕业设计这种,做个单机的估计也就差不多,交了作业估计就不会再管了,QPS根本不足以要上微服务。
但是为了秀一下技术,还是决定做成微服务的,如果毕业设计换做2年前我的也能做,那就没必要花时间来重新做了,并且如果认真地去做一个项目的话,对日后的帮助是很大的。
很快啊,这边就根据上面画的图,搭建好了。
packaging
<packaging>
pom
</packaging>
这里要把把packaging 从jar设置为pom,因为我们是用pom文件进行管理整个项目的
dependencyManagement
我们使用dependencyManagement来管理我们引入依赖的版本
我们的子项目就可以不用写版本号,直接通过父项目进行版本控制
数据库部分
原作者非常地好啊!直接帮我们把数据表都设计好了,我们反手就是一个白嫖,直接拿来主义!
我们也是非常地快,创建好了表。但是你会发现我并没有把原作者所有的数据表都创建,这是因为我想要完成一个功能模块之后,再去创建其他表。
因为功能模块和表之间有对应关系,免得后面把所有的表都创建好了,然后去数据库找数据的时候,面多那么多涨不是自己设计的表,想要找到想要的字段,是非常头疼的,可以看得出来我创建这个表,是为了实现物流订单能力
服务通信能力
如果你在细心留意了我上面引入的依赖,你就会发现我是选择使用Nacos作为我的注册中心
没错!还真是!
由于Nacos的文档非常地清晰明了,我们不需要去看视频、文章啥的,直接撸文档就行。
先是把Nacos server端开启来,我是window用户,cmd走起
这里注意的是,Nacos默认开启时集群模式,我们需要通过-m 参数来设置单机模式,完整的命令:
startup.cmd -m standalone
然后反手就是Ctrl + C 、Ctrl + V大法,把示例复制到自己的项目当中直接跑起来。
nacos还有自己的一个dashboard,当我们开启了Nacos server之后通过http://localhost:8848/nacos/ 就能查看具体的信息,进去会让你输入用户名和密码,默认都是nacos
这边可以看到我起了2个服务,user(8005端口)和order(8003端口)的。
然后我们用user去调用order的
那么服务通信能力也调试成功了,基本的项目架构已经完成成型。
创建仓库
一个牛逼的项目,往往都会有自己的专属仓库地址,为了显得高大上,我们这个不怎么牛逼的项目,也需要一个仓库地址。
在idea上面安装github插件就能一键创建仓库了
仓库地址
感觉仓库空空的,稍微装饰一下,看起来比较专业
这样看起来就舒服多了,文档的事情就日后慢慢补充吧!今天就到此为止!继续刷Leetcode,卷死他们