亿级流量点赞系统第九章
项目地址
GitHub地址💥:https://github.com/tenyon61/likeboom
后端初始化模板💥:https://github.com/tenyon61/springboot3-demo/tree/single
快速开始
✨高可用方案
- 数据库高可用
- 缓存高可用
- 消息队列高可用
- 应用层高可用
✨数据库高可用
TiDB作为分布式数据库已具备基础的高可用,可以通过
- 多中心部署
- 两地三中心架构
在不同地区部署TiDB集群
✨缓存高可用
Redis高可用三种实现
- 主从复制
- 一主多从架构,主节点写,从节点读
- 读写分离,减少主节点压力
- 哨兵模式
- 哨兵节点监控redis实例健康状态
- 自动监测主节点失败并执行故障转移
- Redis Cluster
- 数据自动分片,每个分片有主从结构
- 去中心化架构,无单点故障
✨消息队列高可用
本次使用的是pluser,天生支持地理复制和多租户,可实现跨区域容灾
pluser不可用时就降级,将异步点赞转为同步处理pluser不可用时就降级,用redis暂存数据,同步任务写入MySQL
✨应用层容错
Sentinel实现针对外部依赖的服务调用熔断保护,其可以
- 接口级限流:控制单个接口的请求频率
- 用户级限流:限制单个用户的操作频率
- 系统级限流:根据负载动态调整总体接受请求量
✨增加监控
- 硬件监控
- 中间件监控
- 应用监控
- 通过
Prometheus采集,实时通知运维人员
本章总结
学习多种高可用方案,包含数据库高可用、缓存高可用、消息队列高可用,应用层高可用。
项目踩坑
待补充
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
