高并发系统设计笔录

1、通用设计方法
  • 纵向扩展,分库分表
  • 前置缓存,内存加速
  • 消息队列,异步处理
2、架构分层
  • 简化系统设计,让不同的人专做不同的事
  • 系统复用,提升研发的效率
  • 易于扩展,对模块业务单独做扩展
3、数据库优化
  • 连接池,基于池化技术,连接复用,降低数据库连接数
  • 主从复制,读写分离,数据冗余,使用缓存
  • 分库分表,业务类型垂直拆分,单表按照哈希或时间水平拆分,分区键表冗余
  • 分布式ID,数据库按步递增或雪花算法,二者皆可
  • 索引原理,B+Tree,LSM树,跳表,红黑树
4、缓存优化
  • 分布式缓存,动态缓存,结合静态缓存(本地缓存)
  • Cache Aside(旁路缓存)策略,Read/Write Through 和 Write Back 策略
  • 基于哈希算法的分布式存储
  • Codis,一种redis集群
  • 缓存穿透,帕累托法则,回种空值,使用布隆过滤器
  • 静态资源,CDN加速
5、消息队列
  • 秒杀场景,异步处理,解耦合和削峰填谷

  • 消息丢失:消息重传,异步刷盘,kafka多副本部署

  • 消费一次:幂等机制,一件事情无论做多少次,都是一样的

  • 消费延迟:优化消费代码,零拷贝,增加消费者数量

你可能感兴趣的:(其他教程)