亿级流量点赞系统第九章

项目地址

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

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

快速开始

✨高可用方案

  • 数据库高可用
  • 缓存高可用
  • 消息队列高可用
  • 应用层高可用

✨数据库高可用

TiDB作为分布式数据库已具备基础的高可用,可以通过

  • 多中心部署
  • 两地三中心架构

在不同地区部署TiDB集群

✨缓存高可用

Redis高可用三种实现

  1. 主从复制
  • 一主多从架构,主节点写,从节点读
  • 读写分离,减少主节点压力
  1. 哨兵模式
  • 哨兵节点监控redis实例健康状态
  • 自动监测主节点失败并执行故障转移
  1. Redis Cluster
  • 数据自动分片,每个分片有主从结构
  • 去中心化架构,无单点故障

✨消息队列高可用

本次使用的是pluser,天生支持地理复制和多租户,可实现跨区域容灾

  • pluser不可用时就降级,将异步点赞转为同步处理
  • pluser不可用时就降级,用redis暂存数据,同步任务写入MySQL

✨应用层容错

Sentinel实现针对外部依赖的服务调用熔断保护,其可以

  • 接口级限流:控制单个接口的请求频率
  • 用户级限流:限制单个用户的操作频率
  • 系统级限流:根据负载动态调整总体接受请求量

✨增加监控

  • 硬件监控
  • 中间件监控
  • 应用监控
  • 通过Prometheus采集,实时通知运维人员

本章总结

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

项目踩坑

待补充

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