GraphQL 订阅与 socket.io
GraphQL Subscriptions vs socket.io
我正在尝试基于 websocket 制作实时应用程序并有两个选择。一个是 socket.io
,另一个是 GraphQL Subscriptions
。但是很难找到它们的比较。
选择其中一个的标准是什么,有什么性能差异吗?
Socket.IO 是一个支持浏览器和服务器之间实时、双向和基于事件的通信的库。 socket.io
GraphQL 订阅 另一方面是一个允许客户端收听来自服务器的实时消息的概念。
所以基本上,GraphQL 订阅 是一个规范,它定义了允许 GraphQL 客户端和服务器实时通信的策略和规则。要实现该功能,您可以使用 Socket.io.
等实时工具
这是我的比较,因为我遇到了同样的情况。
GraphQL 订阅 - 在数据变化时提供更新。它可以在您的 GraphQL 服务器中发生突变时触发。这很棒,因为它使您的逻辑紧密耦合。但是,在“聊天”应用程序的用例中。这不是最好的。
Socket.IO - 提供 2 Way Event 通知服务。因此,您可以从客户端发送事件,而无需等待执行 GraphQL 变更。例如:“用户 A 正在打字...”或用户进入或离开对话。
我正在尝试基于 websocket 制作实时应用程序并有两个选择。一个是 socket.io
,另一个是 GraphQL Subscriptions
。但是很难找到它们的比较。
选择其中一个的标准是什么,有什么性能差异吗?
Socket.IO 是一个支持浏览器和服务器之间实时、双向和基于事件的通信的库。 socket.io
GraphQL 订阅 另一方面是一个允许客户端收听来自服务器的实时消息的概念。
所以基本上,GraphQL 订阅 是一个规范,它定义了允许 GraphQL 客户端和服务器实时通信的策略和规则。要实现该功能,您可以使用 Socket.io.
等实时工具这是我的比较,因为我遇到了同样的情况。
GraphQL 订阅 - 在数据变化时提供更新。它可以在您的 GraphQL 服务器中发生突变时触发。这很棒,因为它使您的逻辑紧密耦合。但是,在“聊天”应用程序的用例中。这不是最好的。
Socket.IO - 提供 2 Way Event 通知服务。因此,您可以从客户端发送事件,而无需等待执行 GraphQL 变更。例如:“用户 A 正在打字...”或用户进入或离开对话。