当前位置: 首页 > news >正文

服务端架构演进概述与核心技术概念解析

目录

一、背景与目的

二、核心概念解析

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个999%5256分钟 ≈ 87.6小时 ≈ 3.65天基本可用
    3个999.9%525.6分钟 ≈ 8.76小时良好可用
    4个999.99%52.56分钟 ≈ 1小时高可用
    5个999.999%5.256分钟 ≈ 5.26分钟极高可用性
    6个999.9999%0.5256分钟 ≈ 31.5秒容错级可用性

响应时长(Response Time, RT)

  • 定义:用户完成操作输入到系统给出明确反馈的时间间隔

  • 生活示例:外卖业务响应时长 = 收到外卖时刻 - 完成下单时刻

  • 关键指标:最长响应时长、平均响应时长、中位数响应时长

  • 优化原则:原则上越小越好,但需结合实际业务场景和技术约束综合考量

  • 地位:评估服务器性能的标准,数值越小通常越好。需要注意的是,具体性能指标的选择需与服务器承载的业务需求相匹配

吞吐量与并发能力

  • 吞吐量(Throughput):单位时间内系统成功处理的请求数量

  • 并发(Concurrent):系统同一时刻能够支撑的最大请求数量

  • 交通类比:单车道高速公路,每分钟通过20辆车 → 并发数为2,吞吐量为20辆/分钟

  • 实践测量:并发量难以直接获取,常以极短时间窗口(如1秒)内的吞吐量作为近似值

  • 实践表述:高并发(High Concurrent)作为非量化目标,表达对系统处理能力的追求

  • 地位:衡量系统的处理请求的能力.衡量性能的一种方式

http://www.dtcms.com/a/460705.html

相关文章:

  • 美颜滤镜SDK:社交产品破局与增长的核心引擎
  • 三维模型数据结构与存储方式解析
  • 可以使用多少列创建索引?
  • 技术分享|重组单克隆抗体制备全流程:从抗体发现到纳米抗体应用,关键步骤与优势解析
  • 缝合怪deque如何综合list和vector实现及仿函数模板如何优化priority_queue实现
  • H5响应式网站示例企业网app下载
  • cmd什么命令可以知道本机到目标机的ip节点
  • C++(day6)
  • MySQL InnoDB存储引擎CheckPoint技术底层实现原理详细介绍
  • HikariCP与Spring Boot集成使用指南
  • java-代码随想录第23天|39. 组合总和、40.组合总和II、131.分割回文串
  • 【LangChain】P18 LangChain 之 Chain 深度解析(三):基于 LCEL 语法的数据库与文档处理新型 Chain
  • 2.0 Labview自定义控件中的队列引用句柄从哪拖来?
  • 【LabVIEW实用开发】--- LabVIEW调用python脚本
  • 碰一碰系统源码搭建与发视频、发文案和写好评定制化开发:支持OEM
  • 安徽建设工程信息网站简单的个人网页制作html
  • iBizModel 全文检索体系(PSSYSSEARCHSCHEME)模型详解
  • Django REST Framework `Request` 对象
  • 易班班级网站建设展示PPT公司网站建设怎么做
  • 易讯网站建设凤翔网站制作
  • 湘潭找工作网站如何将wordpress上传
  • 做企业网站注意些啥太原网络营销
  • Redis 缓存与数据库谁先更新?
  • 网站备案要营业执照原件吗怎么做一个小程序app
  • 网站里的横幅广告怎么做商城网站 html模板
  • 金坛网站开发河南瑞达建设工程有限公司网站
  • 临淄网站设计可以做网站的公司
  • 做视频网站程序多少钱网站 注册模块怎么做
  • 做电影网站需要告诉网络网络营销方式有哪几种有哪些
  • 免保证金入驻电商平台wordpress摘要seo