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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
服务网格与 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综合练习

综合练习

为 spring-cloud 服务画网格拓扑。

40 分钟

综合练习

把本 track 串起来:为假想(或未来)拆分的 Spring Cloud 微服务设计 Istio 网格拓扑,涵盖入口、金丝雀、mTLS、超时熔断与可观测。不要求真集群上线,但 diagram 与 YAML 片段须 自洽、可核对。

学习目标

  • 独立完成一张「北向 + 东西向」服务网格架构图
  • 写出至少 VirtualService、DestinationRule、PeerAuthentication 各一段
  • 交叉引用 spring-cloud-essentials、kubernetes-essentials、reliability-essentials、observability-essentials

场景:CodeRoadMap 微服务化

假设 backend 拆为:

服务职责
user-service用户、认证
course-service课程、课时
progress-service学习进度

部署在 K8s 命名空间 coderoadmap,入口经 Istio Ingress Gateway(前层可有 Nginx)。

任务清单

1. 架构图(必做)

绘制包含:

  • Internet → Nginx / LB → Istio Gateway
  • 三个 Deployment + Sidecar
  • 服务间 mTLS 箭头
  • Prometheus / Kiali(可选)抓 metrics

标注与 mesh-gateway 一致的 北向 vs 东西向。

2. 金丝雀发布(必做)

course-service v1 / v2:

  • DestinationRule 定义 subset v1、v2
  • VirtualService:90/10 权重,timeout 3s
  • 说明回滚条件(错误率、P99,链 rel-slo)

3. 弹性与安全(必做)

  • DestinationRule:outlierDetection + connectionPool(见 mesh-resilience)
  • PeerAuthentication:STRICT mTLS
  • 写一句:Feign fallback 与网格 timeout 如何配合(mesh-graceful)

4. 可观测(选做)

  • 列出 3 个 Prometheus 查询或 Grafana 面板标题
  • 金丝雀期间对比 v1/v2 的 trace 采样策略(obs-traces)

必走自检

  • VirtualService host 与 K8s Service 名一致
  • subset label 与 Deployment version label 一致
  • 重试 未 在 Feign 与 VirtualService 双重放大(rel-retries)
  • gRPC 服务若存在,deadline 与网格 timeout 对齐(grpc-error)
  • 能向同事解释:哪些能力从 sc-gateway 迁到网格、哪些保留

交付物建议

docs/mesh-practice/
  topology.md      # 架构图(Mermaid 或 ASCII)
  istio/           # YAML 片段
  checklist.md     # 发布与回滚步骤

反思题

  1. 若仅 3 个服务、单语言 Java,上网格的 ROI 是什么?
  2. Sidecar 额外内存对你的节点规格影响多大?
  3. 第一版你会开启 STRICT mTLS 还是 PERMISSIVE?为什么?

小结

拓扑清晰、策略分层、指标验收——网格落地的最小闭环。 本 track 完结;继续深入可结合 kubernetes-essentials 实验集群与 observability-essentials 搭 Prometheus/Grafana。

加载本节练习…
← 上一课运维与可观测性