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 分钟前
【GORM】事务,嵌套事务,保存点事务的使用,简单电商平台go案例
开发语言·jvm·后端·mysql·golang
摇光9313 分钟前
js高阶-响应式原理
前端·javascript·vue.js
C++小厨神24 分钟前
Kotlin语言的正则表达式
开发语言·后端·golang
小猪咪piggy27 分钟前
【JavaSE】(8) String 类
java·开发语言
丁总学Java35 分钟前
error Parsing error: invalid-first-character-of-tag-name vue/no-parsing-error
前端·javascript·vue.js
7_35Durant36 分钟前
vue3 跨级传递数据
前端·javascript·vue.js
fadtes41 分钟前
C++ 智能指针(八股总结)
开发语言·c++
cfjybgkmf1 小时前
Python数据类型间的转换及eval函数
开发语言·python
清风细雨_林木木1 小时前
Vue中设置报错页面和“Uncaught runtime errors”弹窗关闭
前端·javascript·vue.js
孤客网络科技工作室1 小时前
不使用 JS 纯 CSS 获取屏幕宽高
开发语言·javascript·css