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。

相关推荐
jiay2几秒前
【.net10】顶级程序语句
java·开发语言
淼澄研学31 分钟前
Python进阶实战:深入解析推导式与生成器等5大核心特性
开发语言·python
米码收割机1 小时前
【Python】Django 电子设备商城系统(源码+说明文档)[独一无二]
开发语言·python·django
互联网中的一颗神经元2 小时前
小白python入门 - 38. 动态内容:接口优先与自动化扫盲
开发语言·python·自动化
黑客-秋凌2 小时前
使用Python+selenium实现第一个自动化测试脚本
开发语言·自动化测试·软件测试·python·selenium·测试工具
路光.2 小时前
Vue2升级Vue3处理原 UMD/CommonJS 打包文件,不是标准 ESM
前端·javascript·vue.js·vue3
geovindu2 小时前
CSharp: Iterative Algorithms
开发语言·后端·算法·c#·.net·迭代算法
一只月月鸟呀3 小时前
移动端tap与click的区别 && 点透事件
开发语言·前端·javascript
雨落在了我的手上3 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构
影寂ldy3 小时前
C# HttpClient 分片下载、断点续传、暂停取消(完整项目知识点)
开发语言·c#