点击▲关注 “ 爪哇笔记 ” 给公众号标星置顶
更多精彩 第一时间直达
妹子图发布以来,累计用户已逼近 1w
,每日访问量 3000+
,日图片下行流量十几个G,着实感受到了大家的热情。
最近抽空把妹子图架构优化了一波,之前是单体架构,后台管理和妹子图 API
是柔和在一起的。其实优化无非就这么几点,服务拆分、动静分离、缓存、图片压缩、图片懒加载、容器优化。
把后台管理部分,小程序用户管理、图片管理、推送管理、文章管理归为后台管理服务,单独部署;把小程序认证、相关API服务归为接口服务,单独部署。服务器有点多,闲着也是闲着。
后台所有的静态请求走 Nginx
代理,配合 CDN
加速服务。
API Mysql Redis
大部分图片都在 1MB
以上,即使你的带宽再大,也有考虑用户的网络,毕竟 5G
还没有普及。图片压缩后基本能减少一半的网络传输。
不要一次性加载所有的图片,对妹子图实现滚动加载,为了更好的效果体验,建议在图片上加占位等待层。
根据压测负载情况设置合理的连接池以及运行模式。
不要为了优化而优化,也不要去过度设计,大佬们都说好的架构不是设计出来的,而是进化而来的。进化的标准是什么?在撸主看来就是用户、流量以及业务复杂度,否则都是掰扯。
▲体验妹子图
▲扫一扫回复【妹子图】获取源码
你点的每个在看,我都认真当成了喜欢