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

网站网站建设网站有什么好用的搜索引擎

网站网站建设网站,有什么好用的搜索引擎,承接网站建设 优帮云,江苏建设厅官方网站安全员集成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.mmbaike.com/news/85442.html

相关文章:

  • wordpress菜谱网站网站建设方案推广
  • 网站如何从后台进入营销策略有哪些4种
  • 京东网站设计代码百度快照客服人工电话
  • 青海省交通建设厅网站缅甸今日新闻
  • wordpress 获取文章文字网络搜索引擎优化
  • wordpress页面自定义数据上传图片seo编辑是干什么的
  • 电子商务网站建设的目标是什么济南网站建设老威
  • 移动建站工具营销策略都有哪些
  • 网站建设公司怎么办seo外包多少钱
  • 风雨同舟 网站建设怎么在腾讯地图上添加自己的店铺
  • 网站界面 ui 设计答案第一接单网app地推和拉新
  • 阿里能帮做网站吗优化一个网站需要多少钱
  • 黄页88网能不能发免费的广告google搜索优化方法
  • 郑州大学科技园手机网站建设网站模版
  • 广州和信建设公司网站企业如何做好网络营销
  • 北京欢迎你 网站建设全网营销推广靠谱吗
  • 重庆市工程建设信息网新网站品牌营销成功案例
  • 江苏网站开发公司网络营销的常用工具
  • 学做电商的网站网推平台
  • 建网站什么语言实体店营销方案
  • 我有服务器和模板怎么做网站万网域名
  • 学什么可以先做网站项目网站
  • 北京哪个公司做网站深圳seo网站优化公司
  • 重庆安全员c证在哪里查询网站推广优化网址
  • 澳门做网站找谁苏州seo关键词优化外包
  • 网站建设平台的比较如何购买域名
  • 电影视频网站建设费用外包seo服务口碑好
  • 怎么做淘宝联盟的推广网站网站seo搜索
  • 网站打不开 别的电脑能打开百度指数网址
  • 网站平台系统设计公司快速开发平台