GraphQL 通过公共网关服务订阅内部服务

Posted

技术标签:

【中文标题】GraphQL 通过公共网关服务订阅内部服务【英文标题】:GraphQL subscription to internal service through public gateway service 【发布时间】:2020-05-03 18:28:40 【问题描述】:

我有一个“内部”服务和一个面向公众的 API 网关服务。我想实现一个graphql订阅,以便客户端可以从内部服务接收异步实时更新,但只公开公共服务。如果我直接与内部服务交互,我可以订阅内部服务。但是,我不知道如何通过面向公众的 API 网关服务订阅内部服务。

我正在尝试做的事情是否可行,甚至是正确的方法吗?我是 graphql 的新手,我似乎找不到任何“高级”示例来展示人们这样做。非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

graphql 订阅必须在面向公众的服务中实现。然后您可以选择多种方法来促进从内部服务到公共服务(redis pubSub、rabbitmq 等)的通信,然后触发订阅发布。

我希望这对某人有所帮助。

【讨论】:

以上是关于GraphQL 通过公共网关服务订阅内部服务的主要内容,如果未能解决你的问题,请参考以下文章

获取公共 graphql 订阅的所有订阅者的列表

为GraphQL Server自动生成DataLoader!

通过 apollo 连接到 graphql-yoga 服务器进行订阅的正确方法是啥?

如何对 GCP Cloud Run 上的联合 GraphQL 服务进行身份验证?

我们如何向一个本地数据网关添加多个订阅?

服务网关Zuul