Apollo Federation 上的两个微服务之间的变异

问题描述

我正在使用 Apollo Federation 来处理很多 GraphQL 微服务。我想在用户被关注时创建一个 Notificaction,所以我需要从 UserService 向 NotificationService 发送一个突变。我怎样才能做到这一点?

先谢谢你!

解决方法

我相信没有办法让变异在多个微服务中起作用。我唯一能想到的就是始终解析某个字段作为响应并在 Notification MS 中创建一个解析器。但这听起来更像是黑客而不是架构解决方案。

这是特别做的,因为 apollo 没有任何事务系统,在查询的情况下不需要,但需要更改。

您应该坚持使用微服务之间的默认消息交换,无论是事件总线(如 kafka 或 rabbitmq)还是简单的 http api。