我有一个架构问题,很想听听您的经验。 在微服务环境中。当2个需要通过某种pub-sub机制彼此通信的graphql API微服务异步时。您会选择graphql订阅吗?或类似kafka / rabitmq / etc类型的系统。 我应该遵循什么架构规则?这种决定有什么标准吗? 感谢您的评论!
答案 0 :(得分:0)
GraphQL不一定是服务间通信的坏选择,但这不是GraphQL设计和优化的。特别是对于pub-sub,Kafka和RabbitMQ都是受欢迎的选择。 GraphQL订阅理论上可以在诸如Kafka的队列上实现,但是与仅使用Kafka相比,这会增加一些复杂性。 GraphQL规范在应如何实现订阅方面并没有太多发言,并且开源支持不如查询和变异那么完整。
服务-服务pub-sub的订阅优点:
缺点:
要考虑的一些问题: