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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值