Back to Article

00. 学习路线图与资料地图

00. 学习路线图与资料地图

本章先回答两个问题:应该按什么顺序学,以及这些教程参考了哪些资料。路线图把官方文档、报告、社区讨论和视频资料拆开看,避免“把网上某个学习路线当成唯一答案”。

1. Java/SOFA 微服务学习路线图

阶段 0:校准目标

目标不是“会背 Spring Cloud 组件名”,而是能在金融系统中交付可维护、可观测、可审计、可恢复的后端服务。金融微服务比普通 CRUD 更强调:

  • 请求幂等:支付、转账、开户、授信、风控回调不能因为重试产生重复副作用。
  • 一致性边界:不是所有链路都能强一致,必须说清楚本地事务、分布式事务、最终一致和对账补偿的边界。
  • 审计与追踪:每个关键业务状态变化要有可查询证据,调用链、业务流水、操作人、版本都要能串起来。
  • 稳定性优先:超时、熔断、限流、降级、灰度和回滚比“多拆几个服务”更重要。
  • 安全默认:鉴权、授权、数据最小化、日志脱敏、供应链扫描必须在开发流程里。

阶段 1:补 Spring 基础

适合读者:会写 @RestController,但对 Spring 容器、Bean、AOP、事务、自动配置只停留在“能用”。

学习顺序:

  1. IoC/DI:Bean 是怎么创建、装配、选择、销毁的。
  2. 配置模型:application.yml、Profile、环境变量、@ConfigurationProperties
  3. AOP:为什么事务、日志、鉴权经常通过代理实现。
  4. 事务:本地事务传播、只读事务、异常回滚、事务失效场景。
  5. 自动配置:Spring Boot starter、条件装配、Actuator。
  6. 测试:单元测试、切片测试、集成测试、Testcontainers 思路。

对应教程:01-spring-foundation-for-microservices.md

阶段 2:理解微服务不是框架集合

学习顺序:

  1. 单体、模块化单体、微服务的边界。
  2. 服务拆分:业务能力、数据所有权、团队边界、变更频率。
  3. 服务通信:HTTP、RPC、消息、事件。
  4. 服务治理:注册发现、负载均衡、超时、重试、熔断、限流、灰度。
  5. 可观测性:日志、指标、链路追踪、业务指标。

V2EX 的 JavaWeb 后端学习讨论中,多位回复把 Spring、Spring Boot、Spring Cloud、Redis、MySQL、MQ、分布式锁、分布式事务、缓存一致性、DevOps、Docker、K8s 作为后端进阶路线;另一个微服务学习路线讨论提醒“微服务是一种架构风格,不是先学一堆组件”。这两个社区信号非常适合校准学习路线:先理解问题,再选组件。

对应教程:02-java-sofa-microservices-core.md

阶段 3:进入 SOFAStack/SOFABoot/SOFARPC

学习顺序:

  1. SOFAStack 是什么:面向金融级分布式架构的中间件集合。
  2. SOFABoot 与 Spring Boot 的关系:基于 Spring Boot 增强研发框架能力。
  3. SOFARPC:服务发布、引用、调用协议、注册中心、过滤器、超时。
  4. SOFARegistry:服务注册发现的角色与部署方式。
  5. SOFATracer/Lookout:调用链与指标。
  6. 与 Spring Cloud、Dubbo、Nacos、Sentinel、Seata 的边界和迁移关系。

对应教程:02-java-sofa-microservices-core.md

阶段 4:金融微服务工程化

学习顺序:

  1. 领域建模:账户、交易、支付、风控、账务、通知。
  2. 数据一致性:本地事务、TCC/Saga、事务消息、Outbox、补偿、对账。
  3. 高可用:超时预算、重试风暴、熔断、隔离、限流、降级。
  4. 发布:蓝绿、金丝雀、灰度、回滚、兼容性。
  5. 运维:SLO、告警、容量、压测、故障演练。

对应教程:03-financial-microservices-engineering.md

阶段 5:安全、DevSecOps 与 AI 辅助开发

学习顺序:

  1. OWASP API Security Top 10 与微服务安全清单。
  2. NIST SP 800-204 微服务安全策略。
  3. NIST SSDF、CISA/NCSC Secure by Design、NCSC 安全开发部署原则。
  4. Semgrep 静态扫描、依赖与密钥扫描、容器扫描。
  5. GitHub Copilot 的正确用法:拆小任务、给上下文、验证输出、人工 Review。
  6. DORA 视角:AI 是放大器,平台、流程、测试和团队能力弱时会放大混乱。
  7. Google SAIF:如果系统引入 AI Agent、RAG、智能风控,要补 AI 风险治理。

对应教程:04-security-devsecops-ai-assisted-development.md

2. Go 与云原生学习路线图

用户画像:不了解 Go 与云原生,对 Docker 基础概念不清楚,但会用 docker run 和 Compose。

阶段 A:补容器概念

  1. 镜像、容器、层、registry、volume、network。
  2. Dockerfile 和 Compose 分工:Dockerfile 构建镜像,Compose 编排本地多容器。
  3. 数据持久化:容器可删,数据要放 volume 或外部服务。
  4. 配置:镜像不写环境差异,运行时注入环境变量、Secret、配置文件。

阶段 B:Go 语言入门到服务端

  1. 语法、模块、包、错误处理。
  2. context.Context、超时、取消、请求级元数据。
  3. goroutine、channel、mutex、WaitGroup。
  4. HTTP 服务、JSON、数据库、配置、日志。
  5. 测试、基准测试、race detector、govulncheck。

阶段 C:Kubernetes 基础

  1. Pod、Deployment、ReplicaSet。
  2. Service、Ingress/Gateway API。
  3. ConfigMap、Secret、Volume。
  4. Readiness/Liveness/Startup probe。
  5. Requests/Limits、HPA、滚动发布。
  6. Namespace、RBAC、NetworkPolicy。

阶段 D:云原生工程化

  1. 12-factor、不可变基础设施、声明式 API。
  2. Helm/Kustomize。
  3. OpenTelemetry、Prometheus、Grafana、日志收集。
  4. 镜像安全、最小权限、SBOM、SCA。
  5. GitOps/CI/CD。

对应教程:05-go-cloud-native-roadmap.md06-go-language-from-zero-to-services.md07-docker-kubernetes-cloud-native-tutorial.md

3. 资料地图

调研与生态报告

用途:这些资料用于判断 Java、Spring、Docker、Kubernetes、Go、AI 编码工具在真实开发者生态中的位置。DORA 用于强调 AI 与平台工程、价值流、团队能力的关系。

Java、Spring、SOFA 官方资料

用途:教程中的框架说明、组件边界和代码方向基于这些资料。

安全、合规与工程治理

用途:安全章节、DevSecOps 检查清单和 AI 系统风险治理来自这些资料。

GitHub Copilot 与 AI 编码工具

用途:AI 辅助开发章节基于官方“给上下文、拆任务、验证输出”的建议,并结合社区对 AI 代码安全和责任归属的讨论。

Go、Docker、Kubernetes、云原生官方资料

用途:Go 与云原生教程的基础概念、命令和工程建议优先来自官方文档。

社区与实践讨论

用途:社区资料帮助识别真实学习者的卡点,例如“Spring 魔法太多”“微服务先理解取舍”“Compose 和 K8s 的边界”“K8s 官方文档太干”“AI 工具输出要审查”。教程不会把网盘课程资源当作授权学习资料,只提炼其公开目录暴露出的学习顺序。