博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GraphQL 进阶: 使用RabbitMQ作为PubSub后端实现GraphQL订阅
阅读量:6359 次
发布时间:2019-06-23

本文共 1004 字,大约阅读时间需要 3 分钟。

这篇短文源于解决版本兼容性问题. 这项目已经半年没有Commit了, 和最新的 有兼容性问题. 最新的 的GraphQL订阅使用了 AsyncIterator, PubSubEngine增加了一个新的接口asyncIterator, 如下:

export interface PubSubEngine {  publish(triggerName: string, payload: any): boolean;  subscribe(triggerName: string, onMessage: Function, options: Object): Promise
; unsubscribe(subId: number): any; asyncIterator
(triggers: string | string[]): AsyncIterator
;}

如何运行

clipboard.png

左边开两个GraphiQL的窗口, 右侧登录 rabbitmqadmin 图形管理界面. http://localhost:15672, 找到下面这个Exchange:

clipboard.png

点击进入

然后就可以这样发消息了

clipboard.png

Demo

顺带发一个能跑的DEMO:

说明

这里是修改的版本: 对 做了修改, 使其支持如下接口:

asyncIterator
(triggers: string | string[]): AsyncIterator
;

RabbitMQ 默认安装, 不做任何修改. Ubuntu 下的安装命令为 apt-get install rabbitmq-server

Github Issue:

变更:

2017-09-09:

1.
使用 rabbitmq-pub-subRabbitMqSingletonConnectionFactory替换RabbitMqConnectionFactory,否则不会重用连接, 并且创建生大量的Queue
clipboard.png

2017-09-10:

现在graphql-rabbitmq-subscriptions包的兼容性已经修复, 直接yarn add graphql-rabbitmq-subscriptions即可.

Pull Request:

转载地址:http://stbma.baihongyu.com/

你可能感兴趣的文章
【译】更优秀的GraphQL官方中文文档-客户端如何使用
查看>>
git pull遇到的问题
查看>>
eclipse下maven spring项目环境配置
查看>>
无缝轮播
查看>>
CTS失败项分析(2)android.telephony.cts.VisualVoicemailServiceTest#testFilter_data
查看>>
三分钟,轻松了解Dapp
查看>>
GMQ交易平台满足不同客户群体的多种投资需求
查看>>
大数据开发如何入门你必须知道这些
查看>>
关于js(es5)如何优雅地创建对象
查看>>
阿里云前端周刊 - 第 28 期
查看>>
iOS 主队列同步造成死锁的原因
查看>>
es6 下比较对象是否有修改的简要方法
查看>>
windows安装mysql
查看>>
你还在看《深入理解Java虚拟机》的运行时数据模型吗?
查看>>
RIS,创建 React 应用的新选择
查看>>
线性结构上的动态规划--算法竞赛入门经典笔记
查看>>
面试官:你使用webpack时手写过loader,分离过模块吗?
查看>>
Ubuntu 16.04系统下 对OpenJDK编译好的Hotspot 进行调试
查看>>
00-利用思维导图梳理JavaSE基础知识-持续更新中!
查看>>
java中三种注释及其实际应用的意义
查看>>