gRPC 介绍
gRPC 是 Google 开源的流行的 RPC 框架,基于内部开发的名为 “Stubby” 的系统。 它是基于 Protocol Buffers 、 用于序列化结构化数据的、与 Google 语言无关、平台无关的扩展机制。
Ent 支持使用 ent/contrib 中的插件自动生成 gRPC 服务。
在高一层面来看 Ent 与 gRPC 之间的集成是这样的:
- 使用名为
entproto的命令行(或代码生成钩子)生成 ent 模式中的协议缓冲区定义和 gRPC 服务定义。 模式使用entproto注解辅助不同域之间的映射。 - 使用名为
protoc-gen-entgrpc的 protoc(protobuf 编译器) 插件生成entproto生成的 gRPC 服务定义的实现, 并使用ent.Client来读写数据库。 - 开发者编写嵌入了生成服务实现的 gRPC 服务器。
本教程中我们会使用 Ent/gRPC 集成创建一个完全可用的 gRPC 服务器。
代码
本教程的最终代码位于 rotemtam/ent-grpc-example。