服务端架构演进概述与核心技术概念解析
目录
一、背景与目的
二、核心概念解析
1、基础架构概念
应用(Application)/ 系统(System)
模块(Module)/ 组件(Component)
分布式(Distributed)
集群(Cluster)
分布式与集群概念辨析
主从架构(Master/Slave)
中间件(Middleware)
2、系统评价指标体系
可用性(Availability)
响应时长(Response Time, RT)
吞吐量与并发能力
一、背景与目的
在技术学习过程中,由于大部分同学缺乏中大型系统的实际项目经验,往往难以从全局视角理解架构设计的核心概念。为此,学习过程中将以"电子商务"应用为典型案例,详细阐述从百级到千万级并发场景下,服务端架构的完整演进历程。通过列举每个演进阶段所涉及的关键技术,帮助读者建立对架构演进的整体认知框架,为后续深入学习和实践提供必要的全局视野。
商业项目的实际演进过程始终与业务发展密不可分。业务是核心驱动力,技术则扮演支撑角色。分布式系统的本质,是通过增加硬件资源来解决业务规模扩展带来的问题。
二、核心概念解析
在正式探讨架构演进之前,为避免因概念理解偏差导致的沟通低效,首先对架构设计中若干重要基础概念进行前置说明:
1、基础架构概念
应用(Application)/ 系统(System)
-
定义:为完成一整套服务而设计的单个程序或一组相互协作的程序集合
-
生活类比:为完成特定任务而组建的,由单人或多人协同配合的工作团队
模块(Module)/ 组件(Component)
-
定义:在复杂应用中,为明确职责边界而划分的、具备清晰职能且内聚性强的功能单元
-
生活类比:军队攻坚任务中,按职能划分的突击组、爆破组、掩护组、通信组等专业单元
分布式(Distributed)
-
定义:系统中多个模块部署于不同物理服务器之上的架构形态(物理上的多个主机)
-
典型场景:Web服务器与数据库服务分离部署,或多台Web服务器分布式部署
-
生活类比:原本集中办公的工作小组,为更好服务客户而分散到多个城市进行远程协作
-
技术特征:跨主机模块间通信主要依赖网络完成
集群(Cluster)
-
定义:部署于多台服务器上、为实现特定服务目标而组成的组件集合(逻辑上的多个主机)
-
典型场景:多台MySQL服务器共同提供数据库服务,形成数据库集群
-
生活类比:为攻克坚固防守的城市,指挥部集中大批炮兵部队形成的炮兵打击集群
分布式与集群概念辨析
-
实践中两者常被混用,无需严格区分
-
细究而言:分布式强调物理部署形态(多机网络协作),集群侧重逻辑服务目标(统一服务能力)
主从架构(Master/Slave)
-
定义:集群中承担核心职责的节点为主节点,承担辅助职责的为从节点(分布式系统中一种比较典型的结构)
-
典型场景:MySQL集群中,仅主库处理数据写入操作,从库通过同步机制获取数据更新
中间件(Middleware)
-
定义:为不同应用程序提供互联互通能力的软件层,充当技术、工具与数据库间的桥梁,它是和业务无关的服务(功能更通用的服务),比如:数据库、缓存、消息队列等等
-
生活类比:饭店业务扩大后成立的采购部门,专职负责食材采购,成为厨房与菜市场之间的衔接纽带
2、系统评价指标体系
可用性(Availability)
-
定义:统计周期内系统正常服务时间占比的量化指标
-
计算公式:年化系统可用性 = 系统正常服务时长 / 年度总时长(也就是:系统整体可用的时间/总的时间)
-
实践表述:高可用(High Availability, HA)作为非量化目标,表达对系统持续服务能力的追求
-
地位:一个系统的第一要务
-
行业标准:(详细见对照表)
-
4个9:99.99%可用性(年故障时间约52分钟)
-
5个9:99.999%可用性(年故障时间约5.26分钟)
-
-
可用性等级与故障时间对照表:通常,我们以一年(365天,共 365 * 24 * 60 = 525,600 分钟)为基准来计算。计算公式为:允许故障时间 = (1 - 可用性百分比) × 年度总分钟数。根据这个公式,我们可以得出:
可用性级别 可用性百分比 年化故障时间 描述 2个9 99% 5256分钟 ≈ 87.6小时 ≈ 3.65天 基本可用 3个9 99.9% 525.6分钟 ≈ 8.76小时 良好可用 4个9 99.99% 52.56分钟 ≈ 1小时 高可用 5个9 99.999% 5.256分钟 ≈ 5.26分钟 极高可用性 6个9 99.9999% 0.5256分钟 ≈ 31.5秒 容错级可用性
响应时长(Response Time, RT)
-
定义:用户完成操作输入到系统给出明确反馈的时间间隔
-
生活示例:外卖业务响应时长 = 收到外卖时刻 - 完成下单时刻
-
关键指标:最长响应时长、平均响应时长、中位数响应时长
-
优化原则:原则上越小越好,但需结合实际业务场景和技术约束综合考量
-
地位:评估服务器性能的标准,数值越小通常越好。需要注意的是,具体性能指标的选择需与服务器承载的业务需求相匹配
吞吐量与并发能力
-
吞吐量(Throughput):单位时间内系统成功处理的请求数量
-
并发(Concurrent):系统同一时刻能够支撑的最大请求数量
-
交通类比:单车道高速公路,每分钟通过20辆车 → 并发数为2,吞吐量为20辆/分钟
-
实践测量:并发量难以直接获取,常以极短时间窗口(如1秒)内的吞吐量作为近似值
-
实践表述:高并发(High Concurrent)作为非量化目标,表达对系统处理能力的追求
-
地位:衡量系统的处理请求的能力.衡量性能的一种方式