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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
多语言后端入门/课时/综合练习
RawBlame
课时目录12 节

多语言后端入门

  1. 01多语言后端概览
  2. 02Go 入门
  3. 03Rust 入门
  4. 04C# 入门
  5. 05Ruby 入门
  6. 06语言对比
  7. 07并发模型
  8. 08包管理与工具链
  9. 09与 Java 互操作
  10. 10如何选择语言
  11. 11多语言微服务
  12. 12综合练习

综合练习

为一个新服务选语言并写 ADR。

40 分钟

综合练习

把本 track 串起来:为一个假想新服务选语言、画边界、写 ADR,并列出与 Java 主栈及 gRPC 的集成点。不必真写 Go/Rust 全量代码——重点是 可审查的架构叙述,与 pl-pick 纪律一致。

学习目标

  • 独立完成一次 polyglot 选型 ADR(背景 / 决策 / 后果)
  • 对照 pl-intro 至 pl-polyglot 的检查清单
  • 衔接 java-fundamentals、spring-cloud-essentials、grpc-essentials

场景(固定)

CodeRoadMap 要新增 「课时全文搜索」服务:

  • 读 MySQL 已有 cf_lesson.content_md,建倒排索引
  • P99 延迟目标 < 50ms,QPS 峰值高于现有 Java CRUD
  • 团队主力 Java,仅 1 人熟悉 Go
  • 需被 Java backend 与未来 nodejs-essentials BFF 调用

任务清单

1. 选型(pl-pick / pl-compare)

  • 在 Java 扩展现有服务 / 新 Go 服务 / Python 侧车 中选一(可组合,但须主语言唯一)
  • 用五维表(团队、场景、遗留、生态、运维)各写一句论据

2. 互操作(pl-interop / pl-polyglot)

  • 定 对外契约:REST OpenAPI 或 grpc-proto(二选一,写清 reason)
  • 画 ASCII 架构:Gateway、搜索服务、Java 订单/课时域、索引更新路径(异步可选)

3. 并发与工具链(pl-concurrency / pl-ecosystem)

  • 说明索引构建 离线/在线 如何用并发(Java VT、Go goroutine、或队列)
  • 列出该服务 repo 根目录应有哪些文件(如 go.mod 或 pom.xml、Dockerfile、.github/workflows)

4. ADR 交付物

# ADR-PL-001: 课时全文搜索服务语言选型

## 状态
Proposed | Accepted

## 背景
(3–5 句,含 SLO 与团队)

## 决策
主实现语言:___
集成:Spring Cloud Gateway / gRPC / 消息 ___

## 后果
优点:
- ...
风险与缓解:
- ...

5. 交叉链接自检

文中至少引用本站 track 各一处:

  • java-fundamentals
  • nodejs-essentials 或 python-fundamentals 或 php-essentials
  • spring-cloud-essentials
  • grpc-essentials
  • 加分(可选)

    • 对比若用 Rust 写索引引擎、Java 写 API 层的 split(pl-rust + pl-interop)
    • 引用 sc-feign 说明 Java 如何调非 Java(Feign 仅 HTTP;gRPC 用专用 client)

    反思题

    1. 若六个月后 Go 服务无人维护,你的 ADR 里 缓解措施 是什么?
    2. 搜索与 Java 域服务 共享数据库写 吗?为什么?
    3. 回到 全栈路线图,应勾选哪些 backend / polyglot 节点?

    小结

    场景 → 维度 → 契约 → ADR → 平台统一——polyglot 合格的交付不过如此。 本 track 完结;深入某语言请进对应 fundamentals / essentials track,微服务治理继续 spring-cloud-essentials,跨语言 RPC 继续 grpc-essentials。

    加载本节练习…
    ← 上一课多语言微服务