《沈剑架构师训练营》第3章 - 快速性能优化

本文探讨了动静分离技术如何加速静态与动态页面,以及读写分离在数据库架构中的应用。理解了CDN、分层架构等加速手段,并剖析了其在百万流量场景中的关键作用。还涵盖了单体架构演进、高可用性实现和性能提升策略。
摘要由CSDN通过智能技术生成

11、性能优化:动静分离,互联网优化利器?

  • no11:与静态页面、动态页面匹配的加速技术有哪些?
    • 静态页面
      • CDN
      • nginx
      • squid/varnish
    • 动态页面
      • 分层架构
      • 服务化架构
      • 数据库,缓存架构
  • no11:动静分离是什么?
    • 静态页面与动态页面分开不同的系统访问的架构设计方法
    • 静态页面,几毫秒返回
    • 动态页面,几百毫秒返回
  • no11:「页面静态化」是什么?如何实施?
    • 把网页内容提前生成相关的 html,用静态页面相关的加速技术来进行加速
    • 适合场景:返回页面结果集有限
    • 不适合场景:返回页面结果集数据量过大,如帖子,搜索等

12、性能优化:读写分离,前台与后台分离

  • no12:什么是读写分离?能解决什么问题?
    • 一主多从,读写分离,主从同步,是一种常见的数据库架构
    • 一般来说,主库,提供数据库的写服务,从库,提供数据库的读服务,主从之间通过某种机制来实现数据库的同步,如 MySQL 的 binlog,一个主从同步集群通常被称为一个「分组」
    • 能解决什么问题?
      • 主要可以线性提升读的性能
  • no12:什么是水平切分?能解决什么问题?
    • 数据库水平切分后,数据库之间没有数据的重合,不需要同步
    • 能解决什么问题?
      • 数据库存储容量提升
  • no12:什么是前台?什么是后台?
    • 前台,用户访问的对外系统
    • 后台,运营访问的对内系统

13、本章小结:百万流量,这些技术够用了

  • no13:早期单体 ALL in one 架构,遇到什么问题?这阶段的优化思路是什么?
    • 性能问题:访问人数多的时候,希望系统快一点
    • 耦合问题:当出现问题的时候,系统不要全部挂掉
    • 思路:
      • 1.技术不炫技,以解决业务问题为导向
      • 2.系统改造尽可能小的架构方案
      • 3.以最快的速度,提升系统的性能,解决遇到的问题
  • no13:单体架构演进:伪分布式,提升性能
    • 三大分离
      • 动静分离
      • 读写分离(引发读写延时新问题)
      • 前台后台分离
  • no13:单体架构演进:垂直拆分,解耦
    • 业务垂直划分
    • 代码垂直划分(子系统解耦)
    • 数据库垂直划分(数据量降低,延时缓解)
    • 研发团队垂直拆分(专业化,效率提升)
  • no13:如何保证垂直拆分后,子系统的高可用?
    • 使用反向代理
    • 子web系统的性能,不再受到单台机器资源限制,可以扩展
    • 子web系统,实现了高可用(伪集群->真集群)
  • no13:真集群后,反向代理如何做负载均衡?
    • 负载均衡方法:随机、轮询、静态权重轮询、动态权重轮询,一致性哈希
    • 负载均衡抓手:四层(转发/交换),七层(转发/交换)
  • no13:反向代理,如何保证高可用?
  • no13:反向代理技术出现之前,接入层如何扩展?
    • DNS 轮询
  • no13:使用多层反向代理后,如何做到继续提升性能?
    • DNS 轮询
  • no13:session 一致性如何保障?
    • session 同步法
    • 客户端存储法
    • 反向代理 hash 一致性
    • 后端统一存储法
  • no13:如何加速静态资源?
    • CDN
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值