关闭

第三章 大型网站核心架构要素

标签: 架构
187人阅读 评论(0) 收藏 举报
分类:

第三章 大型网站核心架构要素

  1. 性能
    • 手段
      • 浏览器(浏览器缓存、页面压缩、合理布局、减少Cookie传输)
      • CDN、反向代理服务器
      • 应用服务器(本地缓存、分布式缓存、异步操作、分布式集群)
      • 代码层面(多线程、改善内存管理)
      • 数据库服务器(索引、缓存、SQL优化、NoSQL(数据模型、存储结构、伸缩特性))
    • 衡量性能的指标
      • 响应时间
      • 并发数
      • 吞吐量
      • 系统性能计数器
  2. 可用性
    • 手段
      • 应用服务器(集群部署,负载均衡设备提供服务,宕机后切换,前提:不能保存会话信息)
      • 存储服务器(冷备份、热备份、灾备服务器)
      • 开发过程(预发布验证、自动化测试、自动化发布、灰度测试)
    • 衡量可用性的标准
      • 假设系统中任何一台或多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用
  3. 伸缩性
    • 手段
      • 应用服务器(只要不保存数据,服务器都是对等的,使用合适的负载均衡设备就可以向集群中不断加入服务器)
      • 缓存服务器(加入新的服务器可能导致缓存路由失效,需要改进缓存路由算法保证缓存数据的可访问性)
      • 关系型数据库(难以做到大规模集群的可伸缩性,需要通过数据库之外的路由分区等手段)
      • NoSQL数据库(先天为海量数据而生,对伸缩性支持非常好,较少运维参与便可实现集群规模的线性伸缩)
    • 衡量伸缩性的标准
      • 是否可用多台服务器构建集群
      • 是否容易向集群中添加新的服务器
      • 是否新的服务器能提供无差别服务
      • 集群中总服务器数量是否有限制
  4. 扩展性
    • 手段
      • 事件驱动架构(利用消息队列实现,可透明增加新的消息生产者任务、消息消费者任务)
      • 分布式服务(分离业务和可复用服务)
      • 多版本服务(提供多版本服务,实现透明升级)
      • 开放平台接口(吸引第三方开发者,调用网站服务,开发周边产品,扩展网站业务)
    • 衡量扩展性的标准
      • 增加新业务时是否可以实现对现有产品透明无影响,不需要改动或很少改动既有业务
      • 不同产品之间是否低耦合,一个产品改动对其他产品无影响
  5. 安全性
    • 手段
      • 阻止恶意访问和攻击
      • 保护重要数据
    • 衡量安全性的标准
      • 针对现存和潜在的各种攻击和窃密手段,是否有可靠的应对策略
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2926次
    • 积分:136
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:8篇
    • 评论:0条
    文章分类