继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

一柱擎天-单体架构模式

Java架构师讲师团
关注TA
已关注
手记 80
粉丝 4586
获赞 2541

任何牛逼的项目,都是从一个单体项目慢慢发展而来,哪怕早期的淘宝、京东也都是如此。那么在咱们整个架构师成长体系课程中,第一个面对架构就是单体架构,我们会从单体架构慢慢进阶和演变架构,一步一步到集群、分布式、微服务、容器化以及性能调优,体验一个架构从种子慢慢生根发芽到开枝散叶。

单体架构部分会以电商业务为案例进行开发,目前大家可以访问体验版地址,如下:
http://shop.t.mukewang.com

http://img.mukewang.com/5db57f8700015f0418660940.jpg

那么在做任何项目之前,都应该考虑技术选型,比如springboot和spingmvc这两个应该选择哪个,如何选型,这一块内容也在课程里进行了阐述。随后还会针对前后端分离模式做介绍,因为目前的互联网环境里,这种开发模式是非常流行的,也是开发效率十分高的,通过使用这种开发模式可以大大提高企业生产力,也同时便于项目经理以及架构师的管理。

正所谓分久必合,合久必分,任何事物与各行各业都是秉持着这个原则,当然写代码做架构也是如此。所以,我们的项目会使用maven来构建一个聚合的分层项目。分层后的项目结构如下:

http://img.mukewang.com/5db57efe0001f95303450204.jpg

数据库设计是任何项目在开发具体的功能业务模块之前必须要考虑的,往往在系统分析需求分析之后,这个时候程序员就需要参与到需求阶段,各自根据自己的模块一同参与并且设计数据库表。当DBA为大家设计好数据库表以后,那么大家就能各自着手开发了。课程中会带着大家讲解如何使用PDMan来设计数据库,当然除了这个软件以外还有其他的工具也可以,这个工具还有数据库脚本的版本管理功能,也是非常不错的。表设计可以参考如下:http://img.mukewang.com/5db57fc50001569608310497.jpg

当正式进入项目开发阶段的时候,功能模块分为如下:

http://img1.mukewang.com/5db5809500018cb208590777.jpghttp://img4.mukewang.com/5db580aa000119a612641088.jpg
这些都是单体架构中所涉及到的功能模块,我们会在前期一起手把手的开发出来,如果你没有接触过电商业务,那么这对于你来说是十分珍贵的项目经验。

简单的把这些内容给大家展示一下吧~

1. 用户登录与注册
http://img1.mukewang.com/5db581560001679608250365.jpg

2. 首页轮播图
http://img2.mukewang.com/5db5817900015faf08270369.jpg

3. restful 接口文档化 swagger2
http://img4.mukewang.com/5db581960001985008240430.jpg

4. 商品分类,使用懒加载技术
http://img4.mukewang.com/5db581bf0001705e08270420.jpg

5. 分类推荐商品,页面滚动懒加载
http://img4.mukewang.com/5db581e50001f21208070417.jpg

6. 商品详情页
http://img1.mukewang.com/5db581f900011ff208120712.jpg

7. 用户评论
http://img.mukewang.com/5db5821b0001943d06210446.jpg

http://img1.mukewang.com/5db582ea00010ac608210302.jpg

8. 商品搜索
http://img4.mukewang.com/5db582320001cd5208230551.jpg

9. 购物车页面
http://img1.mukewang.com/5db582480001384508130289.jpg

10. 用户地址管理
http://img.mukewang.com/5db582610001cba305360227.jpg

11. 微信支付与支付宝支付

12. 用户个人信息
http://img4.mukewang.com/5db582a800017f3e08190711.jpg

13. 用户订单管理
http://img4.mukewang.com/5db582be0001028108320477.jpg


以上这些都是电商项目中的主要功能,在这个单体架构项目中,我们会使用前后端分离的模式带着大家去开发,并且我们都会带着大家手把手的去实现的~~

最后再来看一下单体架构的部署图,对于单体架构部署会有两种方案:
1. 项目发布包,文件系统以及数据库都部署在同一台云服务器,这样只需要一台云服务器
2. 如果成本允许,则项目发布包,文件系统以及数据库可以分别放在三台不同的云服务器(PS. 初创小公司前期往往很注重成本预算)

http://img3.mukewang.com/5db5853d00019bc102680257.jpg

更多精彩内容,欢迎关注课程

《Java架构师成长直通车》

国内外一线大厂技术大咖与慕课网组成专家团队12个月磨一剑

千万级电商项目从0到1到100全过程

涵盖Java程序员不同成长阶段的问题及最佳解决方案


打开App,阅读手记
24人推荐
发表评论
随时随地看视频慕课网APP

热门评论

可以拼团后买课程吗?

可以拼团后买课程吗?

你好,请问文章说到的,单体部署的情况,项目包,文件系统和数据库都部署在一台服务器上。这个文件系统指的是什么呀?(日志文件?)

查看全部评论