当前位置: 首页 > news >正文

网站网站建设网站奉节县关键词seo排名优化

网站网站建设网站,奉节县关键词seo排名优化,自己做淘宝优惠券网站,品牌设计公司网站源码集成RabbitMQ 本节我们介绍在 express.js 中集成 rabbitmq. RabbitMQ 是一个消息队列中间件,常用于请求削峰,事务的队列处理,事件订阅机制的实现等。 准备工作 创建一个 express.js 项目(本文基于evp-express-cli)…

集成RabbitMQ

本节我们介绍在 express.js 中集成 rabbitmq.

RabbitMQ 是一个消息队列中间件,常用于请求削峰,事务的队列处理,事件订阅机制的实现等。

准备工作

  • 创建一个 express.js 项目(本文基于evp-express-cli)
  • 在开发环境下安装rabbitmq
  • 安装amqplib.js:
npm i amqplib

创建代理

正常的项目都是分层的,为了避免循环依赖,本文采用代理类构造单例的方式来创建ampqlib连接。

redisProxy.js:
在构造器内创建redis连接,并监听个别事件,最后把连接赋给client成员变量。再定义一个静态的获取实例方法,调用时实例若为空,就构建实例:

const amqplib = require('amqplib');
const logger = require('./logger');class RabbitmqProxy {/**@type {RabbitmqProxy}*/_instance = null;/**@type {amqplib.Connection}*/conn;/**@type {amqplib.Channel}*/channel;static async instance() {if (!this._instance) {let ins = new RabbitmqProxy();const conn = await amqplib.connect({username: `guest`,password: `guest`,hostname: `127.0.0.1`,port: `5672`,});logger.info("Connected to RabbitMQ!");ins.conn = conn;const channel = await ins.conn.createChannel();//确认队列channel.assertQueue("hellos");//订阅队列channel.consume("hellos", async (message) => {console.log("hello, two!");channel.ack(message); //报告处理完毕});ins.channel = channel;this._instance = ins;}return this._instance;}
}

amqplib创建rabbitmq连接是异步的,所以获取实例的静态方法也是异步的,如果你想转为同步函数,只能通过进程阻塞的方式实现。上面给我们的rabbitmq客户端订阅了一个hellos队列。

然后把rabbitmq导出来:

async function init() {return RedisProxy.instance();
}module.exports = {init,instance: RedisProxy.instance(),
};

然后在任意其它地方调用 await rabbitmqProxy.instance 即可获取单例,在从单例中获取conn和channel即可操作rabbitmq.

const rabbitmqProxy = require('../utils/rabbitmqProxy');app.post('/', async(req,res,next)=>{const rbmqproxy = await rabbitmqProxy.instance;const channel = rbmqproxy.channel;//发送消息到"hellos"队列channel.sendToQueue("hellos", "hello!");res.send();
})

你可以自己手动配置一遍,也可以使用evp-express-cli作为手脚架创建项目并选择rabbitmq模板。

关于amqplib.js的详细用法请见官方文档: http://npmjs.com/package/amqplib

下一节-集成Websocket

http://www.dt0577.cn/news/30868.html

相关文章:

  • 2018做分享网站木卢seo教程
  • 网站开发交流群河南百度推广代理商
  • 做风水网站上海百度
  • 怎样做支付网站百家号权重查询
  • html怎么添加图片网络推广优化招聘
  • 如何保护我做的网站模板网站发布流程
  • 做购物平台网站客户体验活动武汉seo认可搜点网络
  • 大连疫情最新情况今日新增轨迹国外网站seo免费
  • PHP企业网站开发实践怎么弄一个自己的网站
  • 做视频网站想用家庭网络软文新闻发布网站
  • 企业网站的建立目的和特点是什么网站关键词优化排名软件系统
  • 好的版式设计网站长沙网站seo方法
  • 南宁做网站推广nnsom百度小说排行榜风云榜单
  • 沈阳网站制作流程展示型网站有哪些
  • 做网站app公司前景网店推广有哪些方法
  • 无锡网站制作怎么样微信推广文案
  • 电子商城网站设计论文seo优化工具大全
  • oa系统是什么意思啊郑州seo优化顾问阿亮
  • 建网站卖东西苏州seo关键词优化推广
  • 网站建设内容保障工作个人总结网络品牌营销
  • 西安专业承接网站搭建模板网络服务公司经营范围
  • 单页网站如何做关键字搜索引擎
  • 惠州b2b网站建设怎么建免费网站
  • 个人免费网站制作百度小说风云榜总榜
  • 衢州集团网站建设网站推广的常用方法
  • 网络专业的网站建设小程序开发教程
  • 全球做网站最好西安全网优化
  • 北京网站seo公司线上推广的方式
  • 做火影忍者网站的格式汕头网站建设技术外包
  • 可以在自己家做外卖的网站百度推广入口官网