【发布时间】:2020-05-08 15:26:51
【问题描述】:
我有一个架构问题,很想听听您的经验。 在微服务环境中。当需要通过某种发布-订阅机制相互异步通信的 2 个 graphql API 微服务时。你会选择graphql订阅吗?或类似 kafka/rabitmq/etc 类型系统的东西。 我应该遵循什么架构规则吗?这种决定有什么标准吗? 谢谢你们的cmets!
【问题讨论】:
标签: graphql graphql-subscriptions
我有一个架构问题,很想听听您的经验。 在微服务环境中。当需要通过某种发布-订阅机制相互异步通信的 2 个 graphql API 微服务时。你会选择graphql订阅吗?或类似 kafka/rabitmq/etc 类型系统的东西。 我应该遵循什么架构规则吗?这种决定有什么标准吗? 谢谢你们的cmets!
【问题讨论】:
标签: graphql graphql-subscriptions
GraphQL 不一定是服务间通信的糟糕选择,但这并不是 GraphQL 的设计和优化目标。特别是对于 pub-sub,Kafka 和 RabbitMQ 都是流行的选择。理论上,GraphQL 订阅可以通过 Kafka 等队列实现,但这与仅使用 Kafka 相比会增加一些复杂性。 GraphQL 规范没有太多说明订阅应该如何实现,而且开源支持远不如查询和突变那么完整。
service-service pub-sub 订阅的优点:
缺点:
需要考虑的一些问题:
【讨论】: