用 Go 实现 GraphQL 转 gRPC 网关,大家觉得这个思路如何

17次阅读

共计 268 个字符,预计需要花费 1 分钟才能阅读完成。

最近在想如何解决 grpc 微服务接口聚合的问题。

我这边现在有大量 grpc 微服务,其中有不少都在做接口聚合的事情。

调研了一番,准备用 Go 写个 GraphQL 转 gRPC 的网关。

GraphQL 转 gRPC 的好处:

  • GraphQL 自带 schema,对端友好,大家不用再为文档烦恼
  • 显式选择字段,配合 gRPC fieldmask 可实现前后端双重省流
  • 前端通过 query 参数,自己指定聚合 grpc 接口,很灵活
  • 基于 gRPC 生成 GraphQL schema,又没那么灵活,没有 N+1 问题
  • 可在网关上实现限流、熔断、鉴权、链路、监控等功能

大家怎么看?欢迎给建议,提前感谢。

正文完
 0