马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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。
|