返回知识库

软考

新技术与Web架构

SOA/微服务、DevOps/云原生、大数据与云计算、2024-2025软考高频新方向速查表

软考微服务云原生大数据DevOps

一句话定位

本表覆盖软考 §3.9 新技术与Web架构,是案例第 2 题、论文高频考点(微服务拆分、分布式事务、高并发架构设计),也是 2024-2025 年真题新增方向(Serverless/秒杀/性能测试/EDA/Lambda)的集中汇总。

IMPORTANT

  • 案例常考模式: 给出某业务场景,要求分析采用何种架构风格、拆分策略及分布式事务方案。
  • 论文常考: “基于微服务的系统架构设计”——需写出服务拆分、熔断限流、分布式事务、DevOps 部署等完整方案。
  • 本表内容量大,优先掌握加粗部分及对比表

A. SOA / Web Services / REST

A.1 SOA 与微服务对比

维度SOA微服务
服务粒度粗粒度(一个服务可能包含多个子系统)细粒度(一个服务对应一个业务领域)
通信方式ESB 总线集中式通信(SOAP/XML)轻量级通信(HTTP/gRPC/消息队列)
部署方式通常统一部署独立部署、独立运行
数据库共享数据库每个服务独立数据库
技术栈统一技术栈多种技术栈并存(Polyglot)
运维传统运维DevOps、持续交付
复杂度治理复杂、重量级运维复杂、轻量级
代表传统企业应用集成互联网分布式系统

NOTE

SOA 与微服务并不是简单的替代关系。微服务是 SOA 的一种轻量级实现,去掉了 ESB 的重量级编排,强调”高内聚、低耦合”的细粒度拆分。

A.2 Web Services 协议栈

协议全称作用记忆点
SOAPSimple Object Access Protocol基于 XML 的通信协议,定义消息格式”S”冰淇凌: SOAP
WSDLWeb Service Description Language描述服务接口(方法、参数、返回值)类似 Java 接口定义
UDDIUniversal Description Discovery and Integration服务注册与发现类似”服务黄页”

A.3 REST 六大约束 + 与 SOAP 对比

REST(Representational State Transfer)并非协议,而是一种架构风格

REST 六大约束

  1. 客户端-服务器(Client-Server):关注点分离
  2. 无状态(Stateless):每个请求包含所有必要信息,服务器不保存客户端状态
  3. 可缓存(Cacheable):响应必须显式标识是否可缓存
  4. 统一接口(Uniform Interface):统一资源标识(URI)、资源多重表示、自描述消息、超媒体(HATEOAS)
  5. 分层系统(Layered System):客户端不知道是否直连最终服务器
  6. 按需代码(Code on Demand,可选):服务器可下发代码扩展客户端功能
对比维度RESTSOAP
协议HTTP可基于多种协议(HTTP/SMTP/TCP等)
消息格式JSON/XML(首选JSON)XML only
接口描述无(或用OpenAPI)WSDL
调用方式资源操作(GET/POST/PUT/DELETE)远程过程调用(RPC风格)
安全性HTTPS + OAuthWS-Security协议
性能轻量、延迟低较重、解析开销大
适用场景Web API、移动后端企业级集成、金融系统
可读性高(URL语义化)低(XML嵌套复杂)

B. 微服务架构

B.1 拆分原则(DDD)

微服务拆分的核心依据是领域驱动设计(DDD)

拆分原则说明反例/注意
按业务能力拆分每个服务对应一个业务领域避免按技术层拆分(如所有服务的DAO层算一个服务)
高内聚低耦合服务内部紧密相关,服务间接口最小化避免循环依赖
独立部署每个服务可独立打包、独立部署避免”部署一个服务需要重启整个系统”
数据独立性每个服务有自己的数据库避免多个服务直接操作同一张表
团队自治”2 Pizza 团队”(6~10人)避免一个团队维护过多服务

B.2 服务注册与发现对比

组件开发方协议/架构特点适用场景
EurekaNetflixAP 架构(自我保护机制)简单、自我保护(防止网络分区时误杀)Spring Cloud 生态
Nacos阿里巴巴AP+CP 可配置支持服务发现 + 配置管理一体化国内主流、云原生
ConsulHashiCorp支持多数据中心服务发现 + KV存储 + 健康检查跨数据中心
ZooKeeperApacheCP 架构(ZAB协议)强一致性、老牌Dubbo 早期默认

WARNING

CAP 是关键区分点:Eureka 是 AP(可用性+分区容错),牺牲一致性;ZooKeeper 是 CP(一致性+分区容错),牺牲可用性。网络分区时,Eureka 保留所有注册信息(可能包含已挂节点),ZooKeeper 可能拒绝服务直到选出新的 leader。

B.3 API 网关职责

API 网关是微服务的统一入口,核心职责:

职责说明常用技术
路由根据 URL/Header 转发到对应服务Nginx、Spring Cloud Gateway
鉴权统一身份认证与权限校验JWT、OAuth2
限流控制请求速率,防止系统过载令牌桶、漏桶
熔断服务故障时快速失败,防止雪崩Hystrix、Sentinel
负载均衡请求分发到多个服务实例Ribbon、Nginx
协议转换HTTP ↔ gRPC、REST ↔ SOAP网关层适配
日志/监控统一请求日志、监控埋点Prometheus、ELK

B.4 熔断降级与限流

熔断降级组件

组件开发方功能特点现状
HystrixNetflix熔断、降级、隔离(舱壁模式)、请求缓存已进入维护模式
Sentinel阿里巴巴流量控制、熔断降级、系统负载保护、热点参数限流国内主流、活跃维护

熔断(Circuit Breaker)三状态:Closed(关闭/正常)→ Open(打开/熔断)→ Half-Open(半开/试探)。

限流算法对比

维度令牌桶 (Token Bucket)漏桶 (Leaky Bucket)
原理以固定速率放入令牌,请求消耗令牌以固定速率漏出请求,请求先进入桶
突发流量允许一定程度的突发(桶内有令牌即可)平滑输出,不允许突发
Rate平均速率 + 突发速率固定速率
适用电商秒杀(允许突发)视频流控(平滑输出)
类比银行柜台:有token才能办业务医院输液:固定滴速

B.5 分布式事务方案(重点)

方案一致性原理优点缺点适用场景
2PC强一致预提交 → 确认提交/回滚原理简单同步阻塞、单点故障、性能差传统数据库XA
3PC强一致引入CanCommit + 超时机制减少阻塞复杂度高、仍有不一致可能理论了解
TCC最终一致Try(预留) → Confirm(确认) → Cancel(取消)性能较好业务侵入性强、幂等难保证电商库存、支付
Saga最终一致长事务拆分为本地事务,故障时补偿适合长事务补偿逻辑复杂旅游预订、物流
本地消息表最终一致本地事务 + 消息表 + 定时扫描简单可靠需额外维护消息表异步通知
最大努力通知最终一致多次通知直到成功简单不保证一定送达支付回调
Seata最终一致/AT模式近强一致阿里开源,AT(自动补偿)/TCC/Saga模式对业务侵入小(AT)需引入Seata Server微服务分布式事务

IMPORTANT

考试重点

  • 2PC/3PC 是强一致性,但性能差、阻塞,适用于传统单体数据库。
  • TCC/Saga/Seata(AT) 是最终一致性,适用于微服务分布式场景。
  • 案例题常问:“某电商系统订单-库存-支付,应该采用什么分布式事务方案?“——答案通常是 TCC 或 Seata AT 模式

B.6 微服务配套设施

设施作用代表产品
配置中心集中管理配置,动态推送Nacos、Apollo、Spring Cloud Config
链路追踪追踪请求在微服务间的完整调用路径SkyWalking、Zipkin、Jaeger
日志聚合集中收集日志,全文检索ELK(Elasticsearch+Logstash+Kibana)
Service Mesh本体(服务网格)服务间通信的基础设施层( Sidecar 代理)Istio、Linkerd

Service Mesh(服务网格):将服务间的通信逻辑(负载均衡、熔断、安全、监控)从业务代码中抽离,由 Sidecar 代理(如 Envoy)统一处理。Istio 是目前最流行的 Service Mesh 实现。

B.7 微服务调用链 Mermaid 图

图 1:微服务典型调用链与治理组件

C. DevOps / 容器

C.1 CI/CD 与 CALMS 原则

缩写全称说明
CIContinuous Integration(持续集成)代码合并后自动编译、测试
CD (交付)Continuous Delivery(持续交付)自动部署到类生产环境,可手动上
CD (部署)Continuous Deployment(持续部署)自动部署到生产环境

CALMS 原则(DevOps 核心理念):

  • Culture(文化):协作文化,打破开发与运维壁垒
  • Automation(自动化):自动化构建、测试、部署
  • Lean(精益):消除浪费,持续改进
  • Measurement(度量):可度量的指标驱动改进
  • Sharing(分享):知识共享、团队透明

Infrastructure as Code(基础设施即代码):通过 Terraform、Ansible 等工具将基础设施配置代码化,实现版本控制和自动化管理。

C.2 Docker 核心概念

概念说明类比
镜像(Image)只读模板,包含运行应用所需的所有内容类固醇增强版的”安装包”
容器(Container)镜像的运行实例,相互隔离轻量级虚拟机
仓库(Repository)镜像的集中存储与分发类似 Maven 仓库/Github
Dockerfile定义镜像构建步骤的脚本”食谱”
Volume容器数据持久化存储外挂硬盘

C.3 Kubernetes 核心对象表

对象作用考试要点
PodK8s 最小调度单元,可包含多个容器共享网络/存储,同生共死
Deployment管理 Pod 的部署与滚动更新声明式部署,自动扩缩容
Service为一组 Pod 提供统一访问入口负载均衡、服务发现
Ingress集群外部访问的 HTTP 路由规则域名/路径路由
ConfigMap存储非敏感配置信息与 Secret 区分(Secret 存敏感信息)
Namespace资源隔离与逻辑分组多租户环境隔离
Master 节点控制平面(API Server / Scheduler / Controller Manager)管理调度
Node 节点工作节点,运行 Pod实际承载工作负载
etcd分布式键值存储一无keeper-like存储集群状态K8s 的数据库
自动伸缩(HPA)根据 CPU/内存等指标自动扩缩 Pod 数量Horizontal Pod Autoscaler 缩写

D. 云计算 / 大数据

D.1 云服务模式对比

模式全称提供商管理用户管理例子
IaaSInfrastructure as a Service机房、网络、硬件OS、中间件、应用AWS EC2、阿里云 ECS
PaaSPlatform as a Service硬件、OS、中间件应用、数据Heroku、Google App Engine
SaaSSoftware as a Service全部仅使用钉钉、Salesforce

D.2 部署模式

模式定义适用
公有云第三方提供,多租户共享互联网应用、弹性需求
私有云企业自建,独享资源金融、政务、数据安全要求高
混合云公有+私有,数据与应用分层核心业务私有、扩展业务公有
社区云特定组织/行业共享医疗、教育等行业联盟

D.3 虚拟化 vs 容器 vs 云原生

对比项虚拟机(VM)容器(D=Docker)
启动速度分钟级秒级
资源占用高(需完整OS)低(共享宿主机内核)
隔离性强(硬件级隔离)弱(进程级隔离)
镜像大小大(GB级)小(MB级)
适用场景需要强隔离的多租户微服务、DevOps

云原生四要素微服务 + 容器 + DevOps + 持续交付

D.4 大数据技术栈

大数据 5V 特征

V含义说明
Volume大量数据规模大(TB/PB级)
Velocity高速数据产生与处理速度快
Variety多样结构化/半结构化/非结构化
Value价值密度低海量数据中有价值信息少
Veracity准确性数据质量与可信度

Hadoop 生态

组件作用类比
HDFS分布式文件存储超大号”网盘”
MapReduce分布式计算框架分而治之:Map 分,Reduce 合
Yarn资源调度管理资源”管家”
对比项SparkFlink
计算模式批处理为主,流处理为批处理模拟真正的流计算(Native Streaming)
核心抽象RDD(弹性分布式数据集)DataStream
延迟秒级/分钟级(微批处理)毫秒级
适用离线计算、机器学习实时流处理(风控、推荐)
特点内存计算,速度快 sincronizada MapReduce低延迟、Exactly-Once

D.5 数据存储架构对比

概念定义特点代表
数据仓库面向主题的、集成的、相对稳定的、反映历史变化的数据集合结构化、面向分析、OLAPHive、Teradata、ClickHouse
数据湖存储原始格式数据的存储库存原始数据、Schema-on-readAWS S3、HDFS
湖仓一体结合数据湖的灵活性与数据仓库的规范性统一存储、批流一体Delta Lake、Iceberg

D.6 NoSQL 四类型

类型特点代表适用场景
键值型简单、高性能Redis、LevelDB缓存、会话存储
列族型高写入、可扩展HBase、Cassandra日志、时序数据
文档型灵活的类JSON结构MongoDB、CouchDB内容管理、用户资料
图型关系查询高效Neo4j、JanusGraph社交网络、知识图谱

TIP

Redis 缓存注意点:缓存穿透(查询不存在数据→布隆过滤器)、缓存击穿(热点key过期→互斥锁/逻辑过期)、缓存雪崩(大量key同时过期→随机过期时间/多级缓存)。

D.7 消息队列与认证

组件作用代表
消息队列削峰填谷、异步解耦、流量控制Kafka、RabbitMQ、RocketMQ
Redis高速缓存、会话共享、分布式锁单线程+IO多路复用
JWT无状态认证令牌(Header.Payload.Signature)常用于前后端分离
OAuth2授权框架,第三方应用无需存储用户密码微信/QQ 登录

D.8 CAP vs BASE

定理定义核心思想
CAPConsistency、Availability、Partition Tolerance三者不可兼得,分布式系统只能同时满足两个
BASEBasically Available、Soft state、Eventually consistent牺牲强一致性,追求可用性和分区容错性

CAP 取舍

  • CP(一致性+分区容错):ZooKeeper、HBase
  • AP(可用性+分区容错):Eureka、Cassandra、DynamoDB

E. 近年新高频方向(2024-2025 真题统计)

WARNING

以下方向为案例与论文的”新出题方向”,2024-2025 年真题中频繁出现,右必掌握核心概念与优缺点。

E.1 Serverless 无服务器架构

  • FaaS(Function as a Service):函数即服务,代码按函数粒度部署,事件触发执行,自动弹性伸缩。
  • BaaS(Backend as a Service):后端即服务,将数据库、认证、存储等后端能力以 API 形式提供。
  • 优势:无需管理服务器、按量计费、自动扩缩容、开发效率高。
  • 劣势:冷启动延迟、调试困难、供应商锁定(Vendor Lock-in)、不适合长时间运行任务。

E.2 秒杀/高并发场景

  • 核心挑战:瞬时高并发(容量)、超卖(一致)、大流量(带宽)。
  • 解决方案
    • 限流:入口限流(网关)、应用限流(Sentinel)、数据库限流(连接池)
    • 熔断降级:非核心功能熔断保核心,Hystrix/Sentinel
    • 缓存:多级缓存(浏览器-CDN-应用-Redis)、热点数据预热
    • 动静分离:静态资源 CDN 分发,动态请求走应用集群
    • 队列削峰:消息队列(RocketMQ/Kafka)异步处理订单,平滑流量

E.3 性能测试

论文 2025-11 出现”性能测试”相关考点。

  • 负载测试:确定系统在各种工作负载下的性能指标,寻找性能拐点。
  • 压力测试:超过正常负载,测试系统在极限条件下的行为和恢复能力。
  • 并发测试:模拟多用户并发操作,发现资源竞争、死锁等问题。
  • 性能指标:响应时间、吞吐量(TPS/QPS)、资源利用率、并发用户数、错误率。

E.4 事件驱动架构 EDA

  • 定义:以事件为核心驱动,系统由事件生产、路由、消费组成。
  • 教材映射:对应教材”事件驱动”架构风格(隐式调用),是微服务异步通信的重要实现方式。
  • 核心组件: events生产者, 事件总线(Event Bus/Broker), 事件消费者(Event Consumer)
  • 优点:高度解耦、可扩展、实时响应;缺点:消息顺序难保证、调试复杂、数据一致性挑战。

E.5 “Lambda 架构

  • 三层结构
    • 批处理层(Batch Layer):全量历史数据的离线计算,保证准确性
    • 速度层(Speed Layer):实时流处理新数据,保证低延迟
    • 服务层(Serving Layer):合并批处理层和速度层结果,提供统一查询
  • 适用场景:大数据实时分析(日志分析、用户行为分析)。
  • 演进:Kappa 架构(只用流处理,简化 Lambda)。
图 2:Lambda 架构三层结构

E.6 区块链(概要)

  • 共识机制:PoW(工作量证明,比特币,能耗高)、PoS(权益证明,以太坊2.0,持币量决定出块权)
  • 智能合约:运行在区块链上的自动执行脚本,code is law
  • 特点:去中心化、不可篡改、透明可追溯

E.7 AI/ML/DL 概念概要

概念全称说明
** chimneyArtificial Intelligence
MLMachine Learning机器学习,从数据中学习规律,无需显式编程
DLDeep Learning深度学习,基于多层神经网络的机器学习方法
常用算法神经网络、决策树、SVM、K-Means、CNN/RNN
应用场景图像识别、NLP、推荐系统、自动驾驶

F. 记忆口诀与易错点

微服务拆分 DDD 口诀

“限界上下文画边界,聚合根内聚实体;应用服务调领域,防腐层隔离外部。“

分布式事务选型口诀

“强一致选 2PC,高并发选 TCC;长事务用 Saga,自动补偿 Seata。“

熔断限流速记

“熔断三板斧:关闭-打开-半打开;限流两把桶:令牌允许突发,漏桶平滑输出。“

云计算服务模式速记

“IaaS 租硬件(阿里云ECS),PaaS 租平台(Google App Engine),SaaS 租软件(钉钉)。“

易错点汇总

WARNING

  1. REST 不是协议,是架构风格;SOAP 才是 protocol 。
  2. CAP 三选二:分区容错(P)是必选项,因此实际只选 CP 或 AP。
  3. Seata AT 模式是最终一致,不是强一致(通过 UNDO_LOG 反向补偿)。
  4. Lambda 架构 vs Kappa 架构:前者批+流两层,后者只有流处理层。
  5. Serverless 不是无服务器:还是服务器**:服务器仍然存在,只是由云厂商托管,开发者不可见。

G. 自测题(检验掌握程度)

  1. 某电商系统需要将单体应用拆分为微服务,订单、库存、支付分别独立部署。这种拆分依据是什么?

    点击查看答案 领域驱动设计(DDD)的限界上下文。按业务能力(订单/库存/支付)进行拆分,每个服务对应一个限界上下文,独立数据库、独立部署。

  2. 令牌桶和漏桶限流算法的核心区别是什么?分别适合什么场景?

    点击查看答案 令牌桶允许突发流量(桶内有令牌即可通过),适合电商秒杀等需要应对突发请求的场景;漏桶严格限制输出速率,平滑流量,适合视频流控、API 限流等需要稳定输出的场景。

  3. 简述 2PC 和 TCC 分布式事务方案的异同。

    点击查看答案 相同点:都属于分布式事务解决方案。
    不同点:2PC 是强一致性,通过预提交和确认提交实现,同步阻塞、性能差,适用于传统数据库 XA 事务;TCC 是最终一致性,需要业务层实现 Try/Confirm/Cancel 三个阶段,性能较好但业务侵入性强,适用于电商库存扣减等高并发场景。

  4. Kubernetes 中,Pod 和 Deployment 的区别是什么?

    点击查看答案 Pod是 K8s 的最小调度单元,可包含多个容器(同生共死);Deployment是更高层的抽象,用于管理 Pod 的部署、滚动更新和自动扩缩容。Deployment 通过 ReplicaSet 确保指定数量的 Pod 副本在运行。

  5. CAP 定理中,分区容错(P)为什么是必须选择的?实际应用中选择 CP 还是 AP?

    点击查看答案 因为网络分区(P)在分布式系统中不可避免,只能尽量容忍。实际选择取决于业务需求:CP(如 ZooKeeper、HBase)适合对一致性要求高的场景(金融交易);AP(如 Eureka、Cassandra)适合对可用性要求高的场景(社交网络)。

IMPORTANT

如果只能”看着面熟”但说不出来,说明还没真正掌握,建议回看对应章节并多做真题。本表要求掌握核心对比表、分布式事务选型、微服务组件职责等可默写内容


上一篇导引架构核心速查表涵盖架构风格对比、质量属性战术、ATAM/SAAM 评估流程。 下一篇导引案例分析模板(待产)将提供软考案例题的答题套路与万能模板。