当前位置:首页 >专题 >Go gRPC 微服务实战专题
Go gRPC 微服务
Go gRPC 微服务实战专题
从 Proto 定义、代码生成到流式 RPC 与 HTTP 网关
gRPC 仍是 Go 微服务内部通信的重要选择:用 Protocol Buffers 描述服务契约,用代码生成减少手写胶水,再通过 HTTP/2、流式 RPC、超时和拦截器把服务间调用做得可演进、可排障。本专题聚合 gRPC 官方资料与 17Golang 真实文章,形成一条从第一个 RPC 到生产网关的学习路线。
官方入口与开发资料
先核对协议、Go 插件、快速开始和 API 参考
官方
gRPC 官方网站
gRPC 官方入口,覆盖协议概念、语言实现、教程、指南和项目动态。
官方
gRPC Go 官方文档
gRPC 官方 Go 语言入口,提供快速开始、基础教程、示例和 API 资料。
官方
gRPC Go Quick start
官方 Go 快速开始,覆盖 protoc、Go 插件、Hello World 服务端和客户端。
官方
gRPC Go Basics
官方 Go 基础教程,介绍服务定义、生成代码、客户端、服务端和错误处理基础。
官方
Protocol Buffers 官方文档
Protocol Buffers 官方资料,覆盖 proto 语法、编码、生成器和语言指南。
官方
gRPC Go API Reference
官方 Go API 参考入口,用于核对 grpc-go 的客户端、服务端和相关类型。
官方
grpc-go 官方仓库
gRPC Go 官方实现仓库,包含源码、示例、发布版本和问题追踪。
gRPC 微服务常见问题
围绕协议选择、流式调用、超时和 HTTP 兼容的实用答案
gRPC 适合所有对外 API 吗?
不一定。gRPC 很适合服务间低延迟、强契约和多语言通信;对外开放 API 还要考虑浏览器兼容、调试工具、缓存和生态,常见做法是用 grpc-gateway 或同时提供 REST/JSON。
四种流式 RPC 应该怎么选择?
单次请求单次响应用 unary;客户端持续上传用 client streaming;服务端持续推送用 server streaming;双方持续交互用 bidirectional streaming。选择时还要明确流结束、背压、取消和资源上限。
gRPC 的 Deadline、超时和取消有什么关系?
Deadline 是请求必须完成的绝对时间边界;超时通常是设置 Deadline 的相对时长;取消则表示调用方主动终止。服务端应检查 context,并把剩余 Deadline 传递给下游。
修改 Proto 字段怎样保持兼容?
不要复用已删除字段的编号或名称,新增字段使用新编号并兼容旧客户端,谨慎修改枚举和必填语义;发布前用兼容性检查工具验证生成代码与线上消息。
相关专题
继续查看相近方向内容
查看更多
最新文章
-
- Go 1.26 的 new 为什么能直接写表达式?旧项目要不要改
- 8小时前 318浏览
-
- Go 1.24 泛型类型别名怎么落地:迁移旧 API 时的兼容边界
- 9小时前 335浏览
-
- Redis Lua 库存扣减接口怎么设计:区分成功、重复请求和库存不足
- 9小时前 346浏览
-
- Go 读取 CSV 入库时如何处理 BOM、空行和重复记录?
- 9小时前 408浏览
-
- Go range 遍历 map 时删除元素安全吗:遍历语义、随机顺序与测试边界
- 9小时前 384浏览

