后台架构窥视(图)

很赞同作者对于软件架构的思考和总结:

  • 架构不可盲目的使用,结合业务和场景来解决问题才是架构存在的理由
  • 业务与技术相互成就,对业务深入的思考,对技术细节和深度的掌握是相辅相成
  • 技术是用来解决业务问题,而业务问题,也可以通过业务来解决
  • 互联网是一种精神,开放、自由、分享

具体窥视的内容,参考一下:

层级

后台架构窥视(图)_第1张图片

演进之路

后台架构窥视(图)_第2张图片

分布式部署

分布式架构和部署

  • 如何进行分布式部署
  • 系统拆分后,模块之间如何相互调用
  • 如何进行统一的会话(Session)管理
  • 如何实现单点登录
  • 如何保证一致性更新
  • 如何规划和处理分布式事务
  • 如何对重要服务实现HA

高并发和Web层的性能优化

  • 高并发的处理
  • Nginx的优化,Varnish的配置和优化
  • Web层的缓存和静态化
  • Web层的性能优化,基本原理、各种优化的手段
  • Tomcat集群和MSM
  • 如何处理动态、实时内容

逻辑层处理和性能优化

  • Redis快速上手
  • 缓存规划和Memcashed集群(使用magent)
  • 异步规划和集群,以及优化
  • 纯内存操作,应对复杂业务逻辑,比如:库存的查询和修改
  • 如何处理高并发的业务

数据层处理和性能优化

  • 大数据量的处理
  • MySQL的分区
  • 如何分库
  • 如何分表
  • 应用MySQL Fabric

数据库优化

  • MySQL的主从集群和读写分离
  • Galera for MySQL的集群
  • MySQL的HA和负载均衡
  • SQL优化的方法
  • MySQL常见的优化配置
  • NoSQL的应用

什么是分布式系统

通俗点说:就是能把系统进行拆分并部署到多台服务器上的系统。(注意区分分层和集群)
专业点说:分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由网络互联的多处理机体系结构上执行任务的系统。常见的有:分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统、分布式数据库系统、分布式应用系统等。

为何需要分布式

  • 单台服务器已经无法承受访问压力
  • 大数据处理
  • 高并发访问
  • 高可用性,自动容错
  • 并行、高性能应用

分布式系统的优点

  • 面对高并发、大数据量的处理要求
  • 高可扩展性(可伸缩)
  • 高性能
  • 异构:操作系统、硬件、程序语言等
  • 同步、异步操作混杂
  • 安全性:授权认证、SSO单点登录、Oauth等
  • 透明性,如:访问透明、位置透明、并发透明、故障透明、伸缩透明等

分布式系统的缺点

  • 相互调用不便
  • 网络通信的可靠性
  • 网络传输数据的安全问题
  • 系统开发更复杂
  • 测试困难

本文参照

  • 大型网站技术架构 核心原理与案例分析 (作者李智慧)
  • 分布式部署

你可能感兴趣的:(Web/Server,后台架构,分布式部署)