当前位置: 首页 > 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/29717.html

相关文章:

  • 网站运维是做什么的百度云app下载安装
  • 深圳很多90后做虚假彩票网站诈骗怎么样建一个网站
  • 政府网站群建设的意义营销网站制作公司
  • webmaster网站制作西昌seo快速排名
  • wordpress工具栏移到底部长沙关键词优化推荐
  • 企业网站的建设有哪些经典问题seo求职信息
  • 葫芦岛做网站永久免费无代码开发平台网站
  • 网站建设帮助中心营销企业
  • 潍坊网站建设选聚搜网络长尾词seo排名优化
  • 简约型网站建设广告免费推广网
  • 创口贴网站模板免费b2b推广网站大全
  • 全国高校校园网站建设与发展高级研修班网站seo优化皆宣徐州百都网络不错
  • 网站人工客服系统50篇经典软文100字
  • 玉树州网站建设公司公司网站建设哪家公司好
  • 做外包网站百度seo关键词排名查询工具
  • 珠海网站建设哪家好seo官网优化详细方法
  • 做网站的叫什么思耐免费企业建站
  • 手机网站源码有免费做网站的吗
  • 重庆建设安全管理网站品牌营销策略包括哪些内容
  • 沈丘做网站yooker武汉seo哪家好
  • 长沙做网站开发哪里好东莞seo网站排名优化
  • 做机械设计兼职的网站百度搜索浏览器
  • 网站开发课程知识点总结深圳网站建设公司排名
  • 网站php环境搭建长沙seo袁飞
  • 保山网站建设哪家好百度seo推广价格
  • 做网站难度seo短期培训班
  • 关于网站建设的书网站免费推广方式
  • 宁津 做网站全球疫情今天最新消息
  • 网站建设 有限公司东莞疫情最新消息今天又封了
  • 东莞凤岗哪里有学做网站的怎么自己建立网站