最近看了下我的Github,发现mall项目已经突破40K+Star,有点小激动!记得去年8月的时候mall项目刚过20K+Star,时隔1年多已经增长到了40K+Star。今天跟大家聊聊mall项目的发展历程,希望对大家有所启发!
文章图片
?
附面试思维导图(仅供参考)
文章图片
最近情况 Github上面有个Java Topic排行榜,mall项目目前排在第9位,有很多小伙伴早就发现了,这里附上地址: https://github.com/topics/java
文章图片
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
发展历程 最初的20K+Star 为什么要写mall项目?打造一个业务与技术相结合的实战项目! 2018年初的时候一度想找个业务与技术相结合的开源项目学习下,但是一直没有找到合适的,于是萌生了自己写一个的想法。总感觉一个项目要是缺少了业务和应用场景,就好像没有了灵魂。于是业务选择了比较好理解的电商,技术选择了流行的SpringBoot。历时1年多,2019年8月的时候mall项目累计获得了20K+Star SpringCloud系列教程 当项目发展到一定程度,总会去寻找一些新的突破,于是我想把mall项目改造成微服务版本。在Java体系中,Spring Cloud基本成了微服务的标准。于是就想先研究下整套Spring Cloud组件,然后再进行改造。在研究过程中写下了一套涵盖大部署核心组件使用的系列教程,就是springcloud-learning这个项目,目前获得了2.2K+Star。
文章图片
?
编辑
【程序人生|Mall电商实战项目开源,附源码、教程合集】添加图片注释,不超过 140 字(可选)
mall-swarm微服务项目 掌握了整套Spring Cloud核心组件之后,接下来就是对mall项目进行微服务改造。经过一段时候的打磨,mall-swarm项目在2019年12月发布了第一个版本。最近mall-swarm项目又进行了一次重大更新,升级至Spring Cloud Hoxton & Alibaba,使用Nacos取代了原来的注册中心Eureka和配置中心Spring Cloud Config,使用Oauth2取代了原来Spring Security实现的权限功能,目前看来是最合理的Spring Cloud技术栈了。
文章图片
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
mall更新完善 mall项目这一年更新了很多内容,这里挑重点的回顾下!
- 之前一直使用的Linux部署方式有主要有Docker和Docker Compose两种,后来加入了Jenkins自动化部署,方便生产环境使用。
- 有很多朋友反馈OSS对象存储需要花钱,于是加入了自行搭建的MinIO对象存储方案,不过生产环境还是推荐使用OSS,毕竟服务器带宽还是很贵的!
- 一直需求很大的权限管理功能实现了,之前一直使用的基于注解的权限控制,升级为了动态权限控制,前端和后台都有了!
- 商品SKU功能设计与优化,抛弃了之前固化的设计,改成了灵活的JSON存储。
- 整合了ELK日志收集系统,采用分场景收集日志的方案,适合生产环境使用,查看日志更方便!
- 最近升级了SpringBoot 2.3.0,使用的各种技术版本又焕然一新了!
文章图片
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
mall-admin-web前端项目 mall-admin-web前端项目主要是增加了权限管理功能,这里提示下mall、mall-swarm、mall-tiny项目都可以无缝对接该项目,是不是很通用!
文章图片
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
mall-learning学习项目 mall-learning项目在mall项目的发展历程中,一直贯彻始终。拥有完善的学习教程,这可能是mall项目和其他开源项目很大的不同之处,mall-learning项目是专门为mall项目打造的学习教程项目,包含了丰富的文档和示例代码。我一直使用这样的方式来更新项目,首先学习新技术,在mall-learning中写相关教程,也算是一直技术调研吧,之后技术合适的话就运用到mall项目中去。感觉这种方式还是很不错的,既深入学习了新技术,又得到了实际的应用,大家学习新技术的时候也可以尝试下。
文章图片
?
编辑
添加图片注释,不超过 140 字(可选)
未来展望 感觉mall项目发展至今,已经不单单是一个开源项目,它已经发展出了自己的生态系统,可以称之为mall系列生态了。mall项目接下来还是会持续更新的,争取打造更好的实战型学习项目!
文章图片
?
推荐阅读
- springboot|企业微信通过群聊机器人用springboot发送信息
- mybatis|mybatis一级缓存和二级缓存理解与区别
- 缓存|mybatis一级缓存和二级缓存的区别
- java|mybatis一级缓存和二级缓存的区别()
- Mybatis|MyBatis一级缓存和二级缓存命中场景
- mybatis|mybatis一级缓存和二级缓存原理
- Java|mybatis的一级缓存和二级缓存
- 缓存|MyBatis一级缓存和二级缓存
- Java集合知识点总结和重点源码分析