第二章 大型网站架构模式

来源:互联网 发布:young网络手机客户端 编辑:程序博客网 时间:2024/06/03 13:00

第二章 大型网站架构模式

  1. 网站架构模式
    • 分层
      • 横向维度切分:应用层、服务层、数据层
      • 单一职责,上下层依赖调用,分层约束(禁止跨层和逆向调用)
    • 分割
      • 纵向维度切分:根据业务模块划分
      • 高内聚,低耦合
    • 分布式
      • 分布式应用和服务(复用服务)
      • 分布式静态资源(动静分离,如JS, CSS, Logo图片等资源)
      • 分布式数据和存储(传统关系数据库和NoSQL产品)
      • 分布式计算(移动计算而不是移动数据,如Hadoop及其MapReduce)
      • 分布式配置(网站线上服务器配置实时更新)
      • 分布式锁(分布式环境下实现并发和协同)
      • 分布式文件(基于云存储)
    • 集群
      • 多台服务器部署相同应用构成集群(至少两台,提高可用性)
      • 负载均衡设备共同对外提供服务
    • 缓存
      • CDN(内容分发网络)
        • 网络服务商处
        • 缓存静态资源和较少变化且访问量大的数据
        • 未经过应用服务器
      • 反向代理
        • 网站前端架构的一部分
        • 缓存静态资源
        • 未经过应用服务器
      • 本地缓存
        • 应用服务器本地
        • 缓存热点数据
        • 应用服务器直接访问
      • 分布式缓存
        • 分布式缓存集群中
        • 缓存量大
        • 应用服务器通过网络通信访问
      • 缓存的两个前提条件
        • 数据访问热点不均衡
        • 数据具有一定的时效性
      • 缓存的好处
        • 加快数据访问速度
        • 减轻后端应用和数据存储的负载压力
    • 异步
      • 单一服务器内部多线程共享内存队列
      • 分布式系统中多个服务器集群使用分布式消息队列(内存队列的分布式部署)
      • 典型的生产者消费者模式
      • 好处
        • 提高系统可用性
        • 加快网站响应速度
        • 消除并发访问高峰
      • 注意
        • 可能对用户体验、业务流程造成影响
    • 冗余
      • 数据库冷备份
      • 数据库热备份(主从分离同步)
      • 灾备数据中心
    • 自动化
      • 发布过程自动化
        • 自动化代码管理(版本控制、分支创建合并)
        • 自动化测试(测试、报告、反馈)
        • 自动化安全检测(静态代码、运行攻击)
        • 自动化部署
      • 自动化监控
        • 自动化报警(关键数据指标异常)
        • 自动化失效转移(隔离失效服务器)
        • 自动化失效恢复(重启失效服务器并同步数据保证数据一致性)
        • 自动化降级(拒绝部分请求、关闭不重要的服务)
        • 自动化分配资源(空闲资源分配)
    • 安全
      • 密码和手机校验码(身份认证)
      • 加密(敏感数据)
      • 验证码(机器人程序)
      • 过滤(垃圾信息、敏感信息)
      • 风险控制(重要操作)
0 0
原创粉丝点击