CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
服务网格与 SOA/课时/SOA 与微服务
RawBlame
课时目录12 节

服务网格与 SOA

  1. 01服务网格是什么
  2. 02SOA 与微服务
  3. 03Sidecar 模式
  4. 04流量管理
  5. 05mTLS 与服务身份
  6. 06Istio 入门
  7. 07与 Kubernetes
  8. 08优雅降级
  9. 09弹性与熔断
  10. 10网格与 API 网关
  11. 11运维与可观测性
  12. 12综合练习

SOA 与微服务

SOA 历史;与 spring-cloud 对照。

30 分钟

SOA 与微服务

面向服务的架构(SOA) 早在 2000 年代就主张「按业务能力拆服务、通过标准协议互联」。今天的 微服务 可看作 SOA 在容器与 DevOps 时代的演化;服务网格 则是微服务规模继续变大后,对 通信与治理 的再一次下沉。

学习目标

  • 简述 SOA → 微服务 → 服务网格的演进脉络
  • 对照 Spring Cloud 组件与网格能力
  • 说清何时仍需要应用层框架、何时适合上网格

SOA 时代留下了什么

SOA 概念现代对应
ESB 企业服务总线API 网关 + 消息中间件
WSDL / SOAPREST、gRPC(见 grpc-intro)
服务注册Eureka、K8s Service、Istio 服务条目
策略集中管理控制面 + GitOps

ESB 常因 中心瓶颈、变更慢 被诟病;微服务强调 去中心化、独立部署,但治理逻辑又散落各服务——网格试图 集中策略、分布执行。

微服务架构要点

与 sc-architecture 一致:

  • 按 业务能力 划边界(user、course、progress…)
  • 独立数据库(理想情况)与独立发布节奏
  • 通过 HTTP/RPC/消息 协作

Spring Cloud 在 应用进程内 提供客户端库:注册、配置、Feign、Gateway、熔断等。适合 VM / 混合部署 或团队以 Java 为主、尚未全面 K8s 化的阶段。

网格补哪一块

当服务数量、语言栈、团队数上去:

Spring Cloud Gateway(北向入口)
        ↓
   各微服务 Pod
   app ←→ Sidecar ←→ Sidecar ←→ app   ← 东西向由网格统一
能力Spring Cloud 典型网格典型
入口路由sc-gatewayIstio Gateway / K8s Ingress
服务发现EurekaK8s + Istio
重试超时Feign + 配置VirtualService
熔断sc-circuit-breakerDestinationRule
mTLS较少默认开启平台级自动签发

不是二选一:许多团队 北向仍用 Gateway/Nginx,东西向 ;或渐进式把 Resilience4j 规则迁移到 YAML 策略。

交给网格

何时考虑上网格

适合:

  • 已运行在 Kubernetes 上,Pod 网络稳定
  • 多语言微服务,不愿每种语言维护一套治理 SDK
  • 需要 统一 mTLS、细粒度流量实验、无侵入可观测

暂缓:

  • 单体或少量服务、无 K8s 运维能力
  • 强依赖 Spring Cloud 特有编程模型(如 @FeignClient fallback 写业务逻辑)

练习

  • 为 CodeRoadMap 假想拆分(user / course / progress)画 SOA 风格组件图
  • 对照 Spring Cloud 路线图,标出哪些节点与 service-mesh 节点重叠
  • 读 rel-monolith,思考故障域如何随拆分变化

小结

SOA 讲「服务化」;微服务讲「独立交付」;网格讲「通信平台化」。 下一课深入 Sidecar 如何透明拦截流量。

加载本节练习…
← 上一课服务网格是什么下一课 →Sidecar 模式