跳到主要内容

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 中找到。