gRPC 简介
gRPC 是由 Google 开源的流行 RPC 框架,其基础是 Google 内部开发的名为 "Stubby" 的系统。它基于 Protocol Buffers——Google 的一种与语言无关、平台无关的可扩展结构化数据序列化机制。
Ent 支持通过 ent/contrib 中提供的插件,从模式定义自动生成 gRPC 服务。
高层级的 Ent 与 gRPC 集成工作流程如下:
- 使用名为
entproto的命令行工具(或代码生成钩子)从 ent 模式生成 Protocol Buffer 定义和 gRPC 服务定义。模式中使用entproto注解来辅助领域间的映射。 - 使用 protoc(protobuf 编译器)插件
protoc-gen-entgrpc生成由entproto生成的 gRPC 服务定义的实现,该实现使用项目的ent.Client进行数据库读写操作。 - 开发者编写嵌入所生成服务实现的 gRPC 服务器。
本教程将指导您使用 Ent/gRPC 集成构建一个功能完整的 gRPC 服务器。
代码
本教程的完整代码可在 rotemtam/ent-grpc-example 中找到。