使用GraphQL可以用基于消息的方法(例如MQ)替换用于订阅的websocket

问题描述 投票:0回答:1

尽管我正在使用的公司环境接受基于http(s)的请求响应模式的使用,这对于GraphQL查询和突变是可以的,但是他们对于GraphQL订阅所需的websocket的使用存在问题,并且希望使用订阅通过IBM MQ路由。

有人对此有任何经验吗?我正在考虑使用Apollo Server提供GraphQL接口。也许有可以使用IBM MQ插入的前端订阅解决方案?后端数据源是Oracle数据库。

graphql message-queue apollo-server
1个回答
0
投票
消息队列通常用于服务之间的通信,而Web套接字是浏览器可以通过恒定套接字与服务器进行通信的方式。这允许服务器在订阅的新事件到来时将数据发送到客户端(通常,浏览器仅支持“拉”,并且仅在要求时才接收数据)。浏览器没有实现您需要直接订阅MQ本身的MQ协议。我不是MQ的专家,但是通常要做的是有一个通过Web套接字连接到客户端的订阅服务器。然后,订阅服务本身会订阅消息队列,并向相关客户端通知其订阅事件。当您需要其他资源时,可以轻松地水平扩展订阅服务器。
© www.soinside.com 2019 - 2024. All rights reserved.