网站架构模式


网站架构模式

分层

优势

  • 通过分层,可以将一个庞大的软件系统切分成不同的部分,便于分工、合作、开发和维护
  • 各层具有一定独立性,只要维持调用接口不变,各层可以根据具体问题独立烟花发展而不需要其他层做出相应的调整

    挑战

  • 必须合理规划层次边界和接口
  • 开发过程严格遵循分层架构,严禁跨层次调用

    重要性和必要性

    分层架构对网站和高并发向分布式方向发展至关重要,因此网站规模还很小的时候就应该使用分层架构

    分割

  • 将软件在纵向方向进行分割,有助于软件的开发和维护
  • 便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力

    分布式

    分割和分层的牡蛎就是为了切分后的模块能便于分布式部署,将不同的模块部署到不同的服务器上。通过远程调用协同工作

    带来的问题

  1. 通过远程调用,会有性能损耗
  2. 服务器越多,宕机的可能性就越大
  3. 分布式环境中的数据一致性问题

    分布式方案

  4. 分布式应用和服务
  5. 分布式静态资源
  6. 分布式数据和存储
  7. 分布式计算
  8. 分布式配置

    集群

    多台服务器部署相同的应用,通过负载均衡设备共同对外提供服务

    缓存

    设计

    缓存就是将数据存放在计算最近的位置加快处理速度
  9. CDN
  10. 反向代理
  11. 本地缓存
  12. 分布式缓存
    将数据缓存存储在一个专门的分布式缓存集群中

    缓存的前提条件

  13. 数据访问热点不均
  14. 数据在某个时间段内有效,不会很快过期

    异步

    使用异步消息队列

    特性

  • 提高系统可用性
  • 加快网站反应速度
  • 消除并发访问高峰

    冗余

  • 热备份
  • 冷备份(数据库主从分离)

    自动化

    发布过程自动化

  1. 自动化代码管理:代码版本控制,代码分支创建和合并
  2. 自动化测试
  3. 自动化安全检测
  4. 自动化部署

    线上问题自动化

  5. 自动化监控
  6. 自动化报警
  7. 自动化线性转移
  8. 自动化失效恢复
  9. 自动化降级
  10. 自动化分配资源

    安全

  • 身份校验
  • 敏感数据加密处理
  • 垃圾信息和敏感信息过滤
  • 风险控制

文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录