大型网站技术架构读书笔记

网站架构要素

性能

现象

  • 网站慢

解决办法:

浏览器:
浏览器缓存、页面压缩、减少cookie传输,减少http请求,合并CSS,图片,JS,启用压缩
网络:CDN,反向代理,缓存热点文件
服务器:
  • 缓存数据(分布式缓存、服务器本地缓存)
  • 异步操作
  • 通过消息消除峰值
  • 多线程:
    • 将对象设计为无状态对象
    • 使用局部变量
    • 并发访问资源时使用锁
  • 内存优化
    • 通过对象池减少对象穿件和资源消耗,例如数据库连接池
    • 垃圾回收:年轻代(Eden ,From,To)[Young GC],年老代[Full GC]
数据库:索引、缓存,SQL优化,分库分表

可用性:系统的总可用时间

优化方案:

  • 冗余,服务部署多台,出现故障的从路由中移除

实践经验

  • 分级管理、服务隔离、优先响应
  • 超时设置
  • 服务降级

伸缩性:通过不断向集群中加入新的服务器来缓解访问压力

指标:

  • 是否很容易的将新服务器加入到集群
  • 新的服务器是否能够提供无差别的服务

技术点:

  • 应用服务器集群:无状态,
  • 缓存服务器集群:改进缓存路由算法
  • 数据库集群:分库分区

扩展性:系统架构能快速响应需求变化

解决办法:

事件驱动架构:通过消息队列来解耦各个业务子系统
分布式服务:将业务和可复用服务分离

猜你喜欢

转载自my.oschina.net/lfy2008/blog/1791267
今日推荐