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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
gRPC 入门/课时/gRPC vs REST
RawBlame
课时目录12 节

gRPC 入门

  1. 01gRPC 是什么
  2. 02Protocol Buffers
  3. 03代码生成
  4. 04Java 服务端
  5. 05Java 客户端
  6. 06流式 RPC
  7. 07Spring gRPC 集成
  8. 08状态与错误
  9. 09gRPC-Gateway
  10. 10gRPC vs REST
  11. 11TLS 与安全
  12. 12综合练习

gRPC vs REST

选型;CodeRoadMap 主 API 仍为 REST。

25 分钟

gRPC vs REST 选型

没有银弹:gRPC 擅服务间高性能与强契约;REST 在公开 API、缓存、浏览器与团队熟悉度上往往更优。 CodeRoadMap ** deliberately 选择 REST 作为主 API**。

学习目标

  • 列出 gRPC 优势与代价
  • 理解内网 RPC 与对外 REST 的分层模式
  • 能向团队解释本站为何保持 /tracks REST

核心内容

对比矩阵

维度REST(本站)gRPC(lab 微服务)
学习曲线低,HTTP + JSON中,proto + stub + HTTP/2
浏览器原生 fetch需 Gateway / gRPC-Web
序列化JSON 可读Protobuf 紧凑
契约OpenAPI.proto 编译期检查
CDN/缓存GET /tracks 易缓存不适合公网 GET 缓存
流式SSE/WebSocket 另议内置 streaming
可观测路径即指标需 grpc 拦截器

CodeRoadMap 选 REST 的理由

  1. 资源清晰:track、lesson 与 URL /tracks/{slug}/lessons/{lessonSlug} 一一对应,nextjs-essentials RSC 与 SEO 友好
  2. 只读为主:课程站点写操作少,gRPC 低延迟优势不明显
  3. 栈统一:spring-boot-essentials 团队已有 @RestController、OpenAPI、JWT
  4. 客户端简单:无需 protoc、无 Gateway 运维
  5. 与 GraphQL 立场一致:gql-rest——扩展协议学而不替

何时引入 gRPC

  • 微服务间 QPS 高、payload 大(配合 spring-cloud-essentials)
  • 多语言团队共享 .proto
  • 强类型演进、双向 streaming

可 REST 对外 + gRPC 对内:BFF 暴露 /tracks,内部 TrackService gRPC——本 track lab 演练此分层,不迁移生产主路径。

练习

  • 为你熟悉项目写 3 条「选 REST」和 2 条「可考虑 gRPC」理由
  • 画架构:platform → REST vs platform → gRPC mesh
  • 阅读 ,列出若改 gRPC 需迁移的 endpoint
TrackController

小结

选型看边界:对外 REST /tracks,对内 gRPC 可选。 下一课 TLS 与 mTLS 安全。

加载本节练习…
← 上一课gRPC-Gateway下一课 →TLS 与安全