RabbitMQ 安装、配置和使用介绍 使用前端js直接调用方式

1. 安装 RabbitMQ
1.1 安装 Erlang

RabbitMQ 是基于 Erlang 语言开发的,因此首先需要安装 Erlang。

在 Ubuntu 上安装 Erlang:

bash

sudo apt-get update sudo apt-get install erlang

在 CentOS 上安装 Erlang:

bash

sudo yum install epel-release sudo yum install erlang

1.2 安装 RabbitMQ

在 Ubuntu 上安装 RabbitMQ:

bash

sudo apt-get update sudo apt-get install rabbitmq-server

在 CentOS 上安装 RabbitMQ:

bash

sudo yum install rabbitmq-server

1.3 启动和启用 RabbitMQ 服务

bash

sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server

2. 配置 RabbitMQ
2.1 启用管理插件

RabbitMQ 提供了一个 Web 管理界面,可以通过启用管理插件来访问。

bash

sudo rabbitmq-plugins enable rabbitmq_management

启动后,可以通过浏览器访问 http://<服务器IP>:15672,默认用户名和密码都是 guest

2.2 创建用户和权限

为了安全起见,建议创建一个新的用户并分配权限。

bash

sudo rabbitmqctl add_user myuser mypassword sudo rabbitmqctl set_user_tags myuser administrator sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"

3. 使用 RabbitMQ
3.1 安装客户端库

在 JavaScript 中,可以使用 amqplib 库来连接和操作 RabbitMQ。

安装 amqplib:

bash

npm install amqplib

3.2 发布消息

以下是一个简单的示例,展示如何使用 amqplib 发布消息。

发送者 (sender.js):

javascript

const amqp = require('amqplib'); async function sendMsg() { try { const connection = await amqp.connect('amqp://myuser:mypassword@localhost:5672'); const channel = await connection.createChannel(); const queue = 'hello'; await channel.assertQueue(queue, { durable: false }); const msg = 'Hello World!'; channel.sendToQueue(queue, Buffer.from(msg)); console.log(` [x] Sent ${msg}`); setTimeout(() => { connection.close(); process.exit(0); }, 500); } catch (err) { console.error(err); } } sendMsg();

3.3 接收消息

以下是一个简单的示例,展示如何使用 amqplib 接收消息。

接收者 (receiver.js):

javascript

const amqp = require('amqplib'); async function receiveMsg() { try { const connection = await amqp.connect('amqp://myuser:mypassword@localhost:5672'); const channel = await connection.createChannel(); const queue = 'hello'; await channel.assertQueue(queue, { durable: false }); console.log(' [*] Waiting for messages in %s. To exit press CTRL+C', queue); channel.consume(queue, (msg) => { if (msg !== null) { console.log(" [x] Received '%s'", msg.content.toString()); channel.ack(msg); } }); } catch (err) { console.error(err); } } receiveMsg();

4. 运行示例
4.1 启动接收者

在终端中运行接收者脚本:

bash

node receiver.js

4.2 发送消息

在另一个终端中运行发送者脚本:

bash

node sender.js

此时,接收者终端会显示接收到的消息。

总结

通过以上步骤,你可以成功安装、配置和使用 RabbitMQ。RabbitMQ 的强大功能和灵活性使其成为微服务架构中处理消息的首选中间件之一。希望这些示例能帮助你快速上手 RabbitMQ。

相关推荐
小皮侠1 小时前
【算法篇】逐步理解动态规划模型6(回文串问题)
java·开发语言·算法·动态规划
勤奋的小王同学~1 小时前
(javaSE)抽象类和接口:抽象类概念语法和特性, 抽象类的作用;接口的概念 接口特性 实现多个接口 接口间的继承 Object类
java·开发语言
李三岁_foucsli1 小时前
从生成器和协程的角度详解async和await,图文解析
前端·javascript
星垂野1 小时前
JavaScript 原型及原型链:深入解析核心机制
javascript·面试
zayyo1 小时前
面试官问我,后端一次性返回十万条数据,前端应该怎么处理 ?
前端·javascript·面试
xingba1 小时前
改造jsp项目的alert框和confirm框
前端·javascript·css
LUCIAZZZ1 小时前
项目拓展-Jol分析本地对象or缓存的内存占用
java·开发语言·jvm·数据库·缓存·springboot
Elastic 中国社区官方博客1 小时前
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
大数据·开发语言·javascript·elasticsearch·搜索引擎·全文检索·apache
姆路1 小时前
Qt背景平铺
开发语言·qt
꒰ঌ小武໒꒱1 小时前
用 HTML、CSS 和 JavaScript 实现五子棋人机对战游戏
javascript·css·html