系统分析师 | VIP课程 | 知识精讲 专栏

ONEP软考智能体年卡VIP付费专属内容:涵盖速通课程、项目背景、优质范文、论文精批、知识拓展六大类内容,提供全流程备考支持。

本篇内容摘要

案例+微服务架构精讲(VIP专享):主要教材出处:第 20 章 微服务系统分析与设计(20.1.1 简介、20.1.2 系统梳理该考点的核心定义、原理与高频易错点,配真题示例与记忆口诀,从原理到实战一次吃透,稳拿对应分值。

❤️‍🔥 86
2026/08/02
☆
▶

deepread14|案例+微服务架构详解

ONEPSOFT | 软考学习知识库


deepread14|案例+微服务架构详解

知识点深度解读:微服务架构(服务拆分 / 服务治理 / 链路追踪)

一、知识点定位

  • 主要教材出处:第 20 章 微服务系统分析与设计(20.1.1 简介、20.1.2 特征、18.4.3 微服务架构演进历程、20.3.2 服务注册和发现、20.3.3 API 网关、20.3.5 运维监控之 Zipkin 链路追踪),并回溯 第 4 章/第 6 章/第 12 章 的 SOA/ESB 思想作为前身。
  • 在考试中的角色:案例分析科目 " 微服务系统分析与设计 " 重点(大纲案例 3.4)。综合知识也会考单体 vs 微服务的区别、服务治理组件。
  • 与备考关联:微服务的 " 拆分 + 治理 + 追踪 " 三件套,正是 " 运维服务 " 里 " 服务目录、服务级别、故障定位 " 思想的工程落地版——先拆清楚(服务目录),再管起来(治理/网关),最后能定位(追踪)。

一句话先讲透:微服务就是把一个 " 啥都干的大单体 " 拆成一堆 " 各管一摊、独立部署的小服务 ",再用注册中心让它们互相找得到、用 API 网关统一接待、用链路追踪在出问题时顺藤摸瓜找到是哪员 " 小将 " 掉链子。

二、教材原文精摘(原封不动,跨章节全覆盖)

【第 20 章 · 20.1.1 微服务系统简介】原文:

微服务是一种开发软件的架构和组织方法,它将大型应用程序拆分为一系列小型、自治的服务,每个服务都有自己的独立部署、运行和维护,并通过轻量级通信机制相互协作,从而形成一个整体的系统。

微服务架构在 2011 年左右逐渐兴起,打破了传统软件架构开发的模式,其借鉴了一些分布式系统和领域驱动设计的理念,注重将系统按业务领域进行划分,从而实现松耦合、可扩展和可维护的架构。

微服务系统拥有众多优势……1) 独立性和自治性……每个服务都是独立的,可以对其中的每个组件服务进行开发、部署、运营和扩展,而不影响其他服务的功能。2) 弹性和可伸缩性……只需增加特定服务的实例数量,而不需要整体扩展。3) 技术多样性……每个服务都可以使用不同的技术栈和编程语言进行开发……4) 专用性……每项服务都是针对一组功能设计的,并专注于解决特定的问题。5) 可组合性和可扩展性……6) 容错性和可恢复性……即使某个服务发生故障,整个系统仍然可以继续运行。

【第 20 章 · 20.1.2 微服务系统特征】原文:

  1. 服务自治性:微服务系统中的每个服务都是自治的,即每个服务都有自己独立的代码库、数据库和团队……2. 服务单一职责:微服务系统中的每个服务应该专注于解决一个特定的业务问题,具有明确的职责范围……3. 服务松耦合:微服务系统中服务之间应该是松耦合的,即应尽量减少彼此之间的依赖关系……4. 分布式部署……5. 技术异构性……6. 弹性和可伸缩性……7. 独立演化和部署。

【第 18 章 · 18.4.3 微服务架构演进历程】原文:

阶段 2:基于 SOA 的服务拆分——" 随 SOA 兴起,微服务架构概念深入发展。服务化架构开始通过服务拆分实现更小的服务颗粒度。同时,服务治理和服务注册中心等基础设施也得以快速发展 ";阶段 3:基于容器和服务框架(Spring Cloud / Netflix OSS);阶段 4:基于云原生的微服务架构(Kubernetes)。

【第 20 章 · 20.3.2 服务注册和发现】原文:

微服务架构中,服务的注册与发现是非常关键的一环……服务注册与发现的基本原理是:服务提供者将自己的服务注册到注册中心,服务消费者从注册中心中获取服务的相关信息,然后通过该信息来调用服务提供者。这样就实现了服务提供者和服务消费者之间的解耦,同时也可以保证服务的高可用性和扩展性。

Eureka 是 Netflix 公司开发的一款基于 REST 的服务治理框架……Eureka Server 是服务注册中心……每个微服务在启动时,会向 Eureka Server 注册自己,同时定时发送心跳包以保持与 Eureka Server 的通信。如果一个服务在一段时间内没有发送心跳包,Eureka Server 会将其视为不可用,从而剔除该服务实例。

【第 20 章 · 20.3.5 Zipkin 链路追踪】原文:

Zipkin 是一个分布式的应用程序追踪系统,可以帮助开发人员监测和解决复杂微服务应用中的问题。Zipkin 可以跟踪请求的路径,并显示请求在不同微服务之间的传递时间。

Zipkin 的架构主要由以下组件构成:(1) Collector:收集服务调用信息,将其发送到存储后端。(2) Storage:存储和检索服务调用信息。(3) API:允许用户查询和检索跟踪信息。(4) UI:展示跟踪数据和生成可视化图表。

Zipkin 使用一种名为 Span 的数据结构来表示单个操作的信息。每个 Span 包含了操作的名称、起始时间、结束时间、调用时间、操作 ID、父 ID 等信息。Zipkin 还支持将 Span 组成树状结构,以便更好地理解微服务之间的调用关系。

通过跟踪请求的路径,开发人员可以很容易地确定请求在哪些微服务中出现了问题,从而可以快速地诊断和解决问题。

三、系统解读(逐段讲透)

  • 针对【微服务简介 + 6 大优势】:核心就一句——" 大应用拆成一系列小型、自治的服务,各自独立部署运行,用轻量通信协作 "。它借鉴分布式系统和领域驱动设计(DDD),按业务领域划分。六个好处(自治、弹性伸缩、技术多样、专用、可组合、容错)其实都是 " 拆小了才好各自折腾 " 的延伸。
  • 针对【微服务 7 大特征】:这 7 条是判据——自治(自己有代码库/数据库/团队)、单一职责(只干一件事)、松耦合(少依赖)、分布式部署、技术异构(各用各的栈)、弹性伸缩、独立演化部署。记住 " 自治 + 单一职责 + 松耦合 " 这三个最能体现微服务灵魂。
  • 针对【演进历程】:微服务不是凭空来的——从 SOA 服务拆分(颗粒度更细),到 Spring Cloud/Netflix 容器化框架,再到 K8s 云原生。理解这条线,就知道微服务是 " 服务化 " 的深化,不是新发明。
  • 针对【服务注册发现】:拆成一堆小服务后,难点变成 " 谁在哪、怎么找到它 "。解法是注册中心——提供者启动时把自己(IP/端口)报到中心,消费者去中心查。Eureka 还用心跳保活:一段时间没心跳就踢掉,保证高可用。这就是 " 解耦 + 高可用 + 可扩展 " 的落地。
  • 针对【Zipkin 链路追踪】:服务一多,一个请求会穿过好几个微服务,出问题难定位。Zipkin 给每次调用打 "Span 标签 "(操作名、起止时间、ID、父 ID),串成调用树,谁慢了、谁错了一目了然。教材原话点题:" 跟踪请求路径,很容易确定请求在哪些微服务中出了问题 "。

核心一句话总结:微服务 = 按业务拆成自治小服务(拆分)+ 注册中心让它们互相找得到、网关统一接待(治理)+ Zipkin 顺调用链定位故障(追踪)。拆得清、管得住、查得到,三件套缺一不可。

四、工程实践举例(土木工程类比)

你的背景是土木工程,咱们用 " 一个大型工程项目部的组织方式 " 来套:

  1. 服务拆分 = 把 " 万能包工队 " 拆成专业班组。原来一个单体包工队啥都干(土方、钢筋、混凝土、机电),人一多就乱、一个人请假全停。微服务就是拆成 " 土方队/钢筋队/混凝土队/机电队 ",每队只管自己那一摊(单一职责)、自己排班结算(自治)、用对讲机协作(轻量通信)——对应 20.1.1/20.1.2 的拆分与特征。
  2. 服务注册发现 = 项目部 " 调度中心 "。各班组每天开工前向调度中心报到 " 我在 3 号基坑、带 5 人 "(注册);别的队要配合就去调度中心查 " 钢筋队现在在哪 "(发现)。哪个队半天没回话(心跳断了),调度中心就认定它 " 失联 " 从名单划掉(剔除)。这整一套就是 Eureka/Consul/ZooKeeper 的注册发现。
  3. API 网关 = 项目部大门传达室。外面(甲方/监理)的请求都从大门进,传达室统一登记、分流、核验身份、限流(别一窝蜂挤进来),再把活派给对应班组。内部班组之间不直接对外,安全又清晰。
  4. 链路追踪 = 每道工序挂 " 工序流转单 "(Span)。一根梁从放线→绑筋→浇筑→养护,每道工序在单子上记 " 谁干的、几点开始、几点结束、上一道是哪道(父 ID)"。最后哪道工序超时或出错,顺着流转单(调用树)一查就知道是钢筋队卡了——这就是 Zipkin 用 Span 树定位故障。

这里正好补上 " 服务管理 " 的认知:微服务的 " 服务目录 (拆分)/服务级别与发现 (治理)/故障定位 (追踪)",和系规 IT 服务的 " 服务目录管理、服务级别管理、可用性保障 " 是同一套思想——只是从工地班组换成了软件服务。

知识点 ↔ 工程实践 对照表

教材知识点要素你的实践场景对应映射说明
按业务领域拆成自治小服务包工队拆成土方/钢筋/混凝土等专业班组都是 " 拆小、各管一摊、独立运作 "
单一职责 / 服务自治钢筋队只管绑筋、自己排班结算都是 " 只干一件事、自己说了算 "
服务注册与发现调度中心记录各班组位置状态都是 " 先报到、再查询、心跳保活 "
心跳剔除不可用实例半天没回话的队从名单划掉都是 " 失联即剔除、保高可用 "
API 网关统一入口项目部传达室统一收发分流都是 " 对外唯一入口、路由/鉴权/限流 "
Zipkin Span 调用树工序流转单 (父 ID 串起调用链)都是 " 顺调用链定位哪环出问题 "
容错可恢复(一服务挂不影响整体)一个班组停工其他照干都是 " 自治带来的容错性 "

相关VIP内容推荐......

⤴️分享
⬅️返回
1
2026/08/02
deepread1|第7章+信息系统开发及应用详解
2
2026/08/02
deepread2|第5章+数据库建模及应用详解
3
2026/08/02
deepread3|第4章+网络规划及应用详解
4
2026/08/02
deepread4|第9章+系统安全性分析详解
5
2026/08/02
deepread5|第12章+应用系统集成详解
6
2026/08/02
deepread6|第6章+企业信息系统详解
7
2026/08/02
deepread7|第6章+企业信息化组织及实施详解
8
2026/08/02
deepread8|第14章+开源软件及应用详解
9
2026/08/02
deepread9|第19章+新技术及其应用详解
10
2026/08/02
deepread10|案例+Web系统架构设计详解
11
2026/08/02
deepread11|案例+嵌入式系统设计详解
12
2026/08/02
deepread12|案例+移动应用系统设计详解
13
2026/08/02
deepread13|案例+大数据处理系统详解
14
2026/08/02
deepread14|案例+微服务架构详解
15
2026/08/02
deepread15|案例+信息物理系统CPS详解
16
2026/08/02
deepread16|第8章 项目管理+挣值管理EVM详解
17
2026/08/02
deepread17|第3章 计算机系统基础+性能评估Amdahl详解
ONEPSOFT品牌标识
ONEP软考 | 年卡VIP知识库
© 2025 ONEPSOFT. All rights reserved.