news 2026/5/11 12:44:29

微服务 vs SOA vs 单体:选择题最容易搞混的三个概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微服务 vs SOA vs 单体:选择题最容易搞混的三个概念

做题时经常看到”单体架构”“SOA”“微服务”混在一起出题,不把它们搞清楚,这3-5分就白白丢了。

这个考点考多少分?

单体/SOA/微服务的对比,在系统架构设计师选择题中每年必考,通常出现在综合知识的架构设计部分。

此外,案例分析和论文中也经常要求你”选择合适的架构风格”并说明理由。理解这三者的区别和演进关系,是整个架构师考试的基础。

核心对比:一张表搞定

维度单体架构SOA(面向服务架构)微服务架构
部署方式整体部署服务独立部署服务独立部署
通信方式函数调用/方法调用ESB(企业服务总线)REST API / 消息队列
耦合度高(紧耦合)中(通过ESB解耦)低(完全松耦合)
治理方式ESB统一治理API网关 + 服务注册发现
数据存储共享数据库可共享也可独立每个服务独立数据库
粒度粗(整个应用)中(业务服务级别)细(单一职责)
技术栈统一可不同但受限完全自由
治理复杂度高(ESB是中心枢纽)中(去中心化治理)
典型代表传统SSH/SSM项目WebSphere/WebLogicSpring Cloud / Dubbo

一、单体架构

核心思想:所有功能模块打包在一起,作为一个整体部署运行。

┌────────────────────────────┐ │ 单体应用 │ │ ┌─────┬─────┬─────┐ │ │ │用户 │订单 │支付 │ ... │ │ │模块 │模块 │模块 │ │ │ └─────┴─────┴─────┘ │ │ 共享同一个数据库 │ └────────────────────────────┘

优点:开发简单、部署简单、调试容易缺点:修改一处要全量部署、扩展性差、技术栈锁死、团队协作困难

适用场景:项目初期、业务简单、团队小

二、SOA(面向服务架构)

核心思想:将应用拆分为可复用的服务,通过ESB(企业服务总线)进行通信和集成。

┌─────┐ ┌─────┐ │服务A│───│ │───│服务C│ └─────┘ │ ESB │ └─────┘ ┌─────┐ │ │ ┌─────┐ │服务B│───│ │───│服务D│ └─────┘ └─────┘ └─────┘

ESB的作用

  • 协议转换(SOAP/HTTP/JMS互转)
  • 消息路由
  • 服务编排
  • 安全认证

优点:服务复用、异构系统集成能力强缺点:ESB成为单点瓶颈和单点故障、ESB部署维护成本高、服务间依赖ESB

适用场景:企业级应用集成、异构系统对接、大型企业IT架构

三、微服务架构

核心思想:在SOA基础上进一步拆小,每个服务独立部署、独立数据库、通过轻量级协议通信,去中心化治理。

┌──────────┐ ┌──────────┐ │ 用户服务 │ │ 订单服务 │ │ (独立DB) │ │ (独立DB) │ └────┬─────┘ └────┬─────┘ │ │ ┌────┴───────────────┴────┐ │ API 网关 / 消息队列 │ └──────────────────────────┘ │ │ ┌────┴─────┐ ┌────┴─────┐ │ 支付服务 │ │ 库存服务 │ │ (独立DB) │ │ (独立DB) │ └──────────┘ └──────────┘ ↑ 服务注册与发现(Nacos/Eureka/Consul)

核心特征

  • 单一职责:每个服务只做一件事
  • 独立部署:可以独立发布,不影响其他服务
  • 独立数据库:每个服务有自己的数据存储
  • 去中心化治理:没有统一的ESB,通过API网关+服务发现协调
  • 轻量级通信:RESTful API / gRPC / 消息队列

优点:独立部署、技术栈自由、弹性伸缩、故障隔离缺点:分布式系统复杂性(网络延迟、数据一致性、服务治理)、运维成本高

适用场景:大规模互联网应用、需要快速迭代的业务

四、三者演进关系

单体架构 → SOA → 微服务,本质是从集中到分散、从紧耦合到松耦合的演进。
演进解决的核心问题引入的新问题
单体→SOA复用性差、系统僵化ESB单点瓶颈
SOA→微服务ESB耦合、部署粒度大分布式复杂性
不是越新越好!选择架构要看业务阶段:
  • 初创期/业务简单 → 单体(快速上线)
  • 企业集成/异构系统 → SOA
  • 大规模/高并发/快速迭代 → 微服务

真题演练

【真题】关于微服务架构和SOA的对比,以下说法正确的是( )。

A. 微服务通过ESB进行服务间通信 B. SOA中每个服务通常拥有独立数据库 C. 微服务强调去中心化治理,服务之间通过轻量级协议通信 D. SOA比微服务更强调服务的细粒度拆分

答案解析:A. ESB是SOA的通信方式,微服务使用API网关/消息队列 B. SOA中服务通常共享数据库,微服务才强调独立数据库 C. 去中心化 + 轻量级通信是微服务的核心特征 D. 微服务比SOA更细粒度
正确答案:C

【真题】在系统架构演进过程中,从单体架构向微服务架构过渡,主要解决了单体架构的( )问题。

A. 安全性不足
B. 部署粒度过大,修改影响范围广
C. 数据存储能力不足
D. 用户界面不够美观

答案解析:单体架构的核心痛点是”牵一发而动全身”——改一个功能要全量部署。 微服务通过独立部署和服务拆分,让修改影响范围缩小到单个服务。
正确答案:B

以上内容都是我自己通过资料总结出来的,肯定有不足的地方也欢迎大家指正,咱们共同进步。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 12:42:35

【信息科学工程学】【社会科学】 第五十五篇 人的利益规则05——行业篇04

编号 行业门类 细分子行业和细分公司类型 行业的上游 行业的下游 产品的上游 产品的下游 利益形态(与各主体) 各类利益形态和利益模型(含周期性) 利益流动模式 人的利益规则 公司内的利益规则 公司间的利益规则 各类利益链和利益流动链条的数学建模框架 行业…

作者头像 李华
网站建设 2026/5/11 12:42:00

暗黑破坏神2存档编辑器终极指南:d2s-editor让你轻松定制游戏体验

暗黑破坏神2存档编辑器终极指南:d2s-editor让你轻松定制游戏体验 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中重复刷装备而烦恼吗?想尝试不同build却不愿花费数十小时重新练级&…

作者头像 李华
网站建设 2026/5/11 12:40:57

5分钟掌握直播间数据抓取:Live Room Watcher终极指南

5分钟掌握直播间数据抓取:Live Room Watcher终极指南 【免费下载链接】live-room-watcher 📺 可抓取直播间 弹幕, 礼物, 点赞, 原始流地址等 项目地址: https://gitcode.com/gh_mirrors/li/live-room-watcher Live Room Watcher是一款基于Java开发…

作者头像 李华
网站建设 2026/5/11 12:40:07

基于CDP与MCP协议实现Gemini网页版自动化操控的实践指南

1. 项目概述:一个能“遥控”Gemini的自动化利器如果你和我一样,经常需要和Gemini打交道,无论是用它生成设计灵感图、创作文案,还是进行一些复杂的多轮对话,那你肯定体会过手动操作的繁琐。每次都要打开浏览器、登录、输…

作者头像 李华
网站建设 2026/5/11 12:39:41

数字生活的静默守护者:重新定义日常任务的意义

数字生活的静默守护者:重新定义日常任务的意义 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 在数字时代的…

作者头像 李华