常见系统架构设计的思路
1.各种后台系统业务类型大致分类
读业务 主要关注高可用以及高性能
写业务 主要关注高可用
扣减业务 主要关注并发以及数据一致性
2.系统拆分降低系统复杂度
复杂系统进行拆分,降低系统复杂度,减小耦合
垂直拆分 按照业务流程进行拆分为不同功能模块
水平拆分 基于常见技术框架来进行水平拆分
3.构建高性能读服务
读服务 从存储中查询数据 转换返回给前端
基本原则 服务不要分层 服务和数据尽量靠近
3.1懒加载模式
会出现的问题
缓存穿透
缓存雪崩
无法及时感知变更
性能毛刺
3.2全量缓存模式
存在的问题 更新实时性
基于binlog来实现数据的缓存同步
binlog处理框架
canal框架
存在问题 集成复杂 缓存容量增加
减少缓存存储
基于binlog全量缓存方案存在的问题
binlob格式解析
binlog消费问题 串行 并行
如何保证对于同一条数据的消费保证有序
热点数据查询
主从复制进行垂直扩容
使用应用内前置缓存
读服务自动化回归测试
数据收集
数据回放
参考链接: