100万+的妹子图微服务版本终于开源了
前言
今天,妹子图微服务版本终于出炉了,各位小伙伴久等了。
2019年11月22日鉴黄图床上线了,网友们也都很积极,甚是踊跃的上传了不少有趣的图片。
2020年05月13日妹子图后台管理系统开源了,一个标准的后台管理系统,用户、角色、权限、菜单,搭配敏捷开发,可以快速生成一个功能模块。
2020年06月2日妹子图小程序开源了,前端小菜鸡,东拼西凑看起来还像那么回事,代码的话大家就讲究着看吧。
微服务
如果是一个小团队,在引入微服务之前,一定要慎重考虑清楚,不要只顾追赶时髦,也不要人云亦云,适合团队的才是最好的。
去年撸主准备开发一个图床,最开始就自己一个人在做,刚开始业务也比较简单,就一个图片上传展示。
后期,为了管理方便,撸了一个后台管理系统。此时此刻,撸主不满足于仅仅是一个图床,后面加入了资讯、音乐、短链、邮件管理、任务管理、爬虫服务等等。
后来,为了各位小伙伴能随时随地的预览妹子图,撸主又开发了一款爪哇妹小程序。有很长很长一段时间,所有的需求迭代都是跑在一个程序上。
慢慢的,小程序的用户数逐渐增加,调用量也越来越大,这样就有可能因为程序的调用会影响到其他服务。撸主只是想优化一下小程序后台逻辑而已,一处小小的改动就要整体编译打包。
此时,你可以想象一下,如果多人开发这个项目,而且都负责不同的模块。这时候还是一个单体项目,然后合并多个人的代码一起上线。有时候解决代码冲突就要花掉半天的时间,撸主亲身经历。
上线的时候,如果发现某个功能有问题,需要进行回退,其它功能就算没问题也只能一起回退,业务多而复杂的时候,这种情况很容易出现,非常影响迭代速度。
又比如,小程序接口压力有点大,我想横向扩展,这时候还得整包集群部署,极其浪费资源,如果能单独把接口服务抽离出来,只需要对接口服务横向扩展就可以了。
随着业务的深入,团队规模的壮大,这时候,亟需一种能解决组内自治、快速迭代、跨团队合作的软件架构。没错,就是微服务。
当然,不是所有的团队都适合微服务,也不要觉得微服务是什么高大上的玩意。微服务从来也不是一蹴而就的,而是一个逐渐演变的过程。
妹子图
由于都是撸主一个人在战斗,这只是个妹子图微服务学习案例,仅供各位小伙伴们参考,持续更新。
前端水平太菜,伪前后端分离,只是把前端页面抽离出来单独部署。
后端采用
SpringCloud
全家桶,部分组件采用Alibaba
。权限认证采用
JWT
+自定义注解(RBAC
)实现,抛弃相对比较重的SpringSecurity
。单机版本请移步炒鸡工具箱。
妹子图小程序请移步爪哇妹。
架构
核心依赖
模块
说明
源码部署文件中提供了一系列的软件包以及安装部署教程,还有一些配置参数文件。如果只是想测试不想安装Nacos
,撸主也提供了免费的鉴权注册中心,为了安全起见,请加小编获取,源码请阅读原文。
— 【 THE END 】— 本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取! 3T技术资源大放送!包括但不限于:Java、C/C++,Linux,Python,大数据,人工智能等等。在公众号内回复「1024」,即可免费获取!!