亿级流量点赞系统终章

项目地址

GitHub地址💥:https://github.com/tenyon61/likeboom

后端初始化模板💥:https://github.com/tenyon61/springboot3-demo/tree/single

🌸总结

✨第一章

通过快速启动模板搭建项目,将 jdk 从17升级到21,完成简单的crud功能,解决一些从SpringBoot2.x升级到3版本的依赖报错问题。

✨第二章

  • 用Sa-Token对用户进行登录鉴权,简单高效;
  • 将点赞信息由 MySQL 转存 redis 的 Hash,通过用户 Id批量获取用户点赞博客列表;
  • 对点赞数据设置过期1月周长,实现数据冷热分离。

✨第三章

  • 公司内用lua脚本实践不多,补充了lua脚本这方面的不足;
  • 通过 lua 脚本+同步机制+补偿机制实现Redis强一致性和数据库最终一致性。

✨第四章

  • 使用Caffine+Redis+MySQL实现多级缓存策略,提高系统的稳定性;
  • 之前了解学习过京东的hotKey,本次学习了HeavyKeeper实现流量削峰。

✨第五章

  • 学习新的消息队列Pluser的使用;
  • 通过对账 Job 的最终一致性兜底,形成了完整的数据一致性解决方案。

✨第六章

  • 学习新的数据库TiDB的使用;
  • MySQL迁移到TiDB,增强水平扩展能力。

✨第七章

  • 压测是检验系统稳定性必不可少的阶段,通过经典压测工具Jmeter对点赞写进行压测;
  • 比对不同方案下,TPS的不同,从而采取最适合的方案;
  • 学习如何用并行流批量生成mock用户。

✨第八章

  • 为点赞系统搭建监控平台,搭建 Granfana 作为数据展示平台,应用 Prometheus 作为可观测性解决方案;
  • 指定合理的阈值,在问题影响面扩大前提前处理。

✨第九章

从理论上学习多种高可用方案,包含数据库高可用、缓存高可用、消息队列高可用,应用层高可用。

✨第十章

从0到1,使用AI生成prompt,并且通过Cursor生成简单h5代码,开发出首页、登录、点赞列表,点赞详情页面。

最后

点赞系统这个项目部分技术栈即使在实际开发业务种并没有使用,但仍可以根据文字教学无损上手实践出来,非常时候摸鱼时候提高自己。

最后的最后,欢迎大家一起来摸鱼https://yucoder.cn

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP