整体架构演进之路:
-
单机架构
-
第一次演进:Tomcat 与数据库分开部署
-
第二次演进:引入本地缓存和分布式缓存
-
第三次演进:引入反向代理实现负载均衡
-
第四次演进:数据库读写分离
-
第五次演进:数据库按业务分库
-
第六次演进:把大表拆分为小表
-
第七次演进:使用 LVS 或 F5 来使多个 Nginx 负载均衡
-
第八次演进:通过 DNS 轮询实现机房间的负载均衡
-
第九次演进:引入 NoSQL 数据库和搜索引擎等技术
-
第十次演进:大应用拆分为小应用
-
第十一次演进:复用的功能抽离成微服务
-
第十二次演进:引入企业服务总线 ESB 屏蔽服务接口的访问差异
-
第十三次演进:引入容器化技术实现运行环境隔离与动态服务管理
-
第十四次演进:以云平台承载系统
1.概述
本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径。
2.基本概念
在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解&