使用RabbitMQ进行Linux消息队列服务搭建

紫色玫瑰 2021-08-24 ⋅ 24 阅读

在现代应用程序中,消息队列服务成为了处理异步任务、解耦系统组件以及实现可靠数据传输的重要组成部分。RabbitMQ作为一个功能强大的消息代理服务器,为开发人员提供了一种简单而灵活的方式来实现消息传递。本篇博客将介绍如何在Linux系统上搭建RabbitMQ消息队列服务。

环境准备

在开始之前,确保你已经安装了Linux操作系统,并且具备以下环境准备:

  1. 安装Erlang:RabbitMQ是用Erlang编写的,因此我们需要在系统中安装Erlang。执行以下命令来安装Erlang:

    sudo apt update
    sudo apt install erlang
    
  2. 安装RabbitMQ:安装RabbitMQ之前,我们需要添加RabbitMQ的Apt存储库。执行以下命令来配置存储库:

    echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
    

    接下来,我们需要为RabbitMQ添加存储库的公钥:

    wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
    

    然后,执行以下命令安装RabbitMQ:

    sudo apt update
    sudo apt install rabbitmq-server
    

启动RabbitMQ服务

安装完成后,我们可以通过以下命令来启动RabbitMQ服务:

sudo systemctl start rabbitmq-server

我们还可以将RabbitMQ服务设置为开机启动:

sudo systemctl enable rabbitmq-server

现在,我们可以通过以下命令来验证RabbitMQ服务是否已经成功启动:

sudo rabbitmqctl status

如果一切正常,你应该能够看到类似以下输出:

Status of node rabbit@localhost ...
[{pid,20517},
 {running_applications,[{rabbit,"RabbitMQ","3.8.6"},
                        {rabbit_common,"RabbitMQ common components","3.8.6"},
                        {amqp_client,"RabbitMQ AMQP Client","3.8.6"},
                        {rabbitmq_management,"RabbitMQ Management Console","3.8.6"},
                        {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.8.6"},
                        {webmachine,"webmachine","1.10.3"},
                        {mochiweb,"MochiMedia Web Server","2.20.3"}]},
 {os,{unix,linux}},
 {erlang_version,"22.3.4.13"},
 {memory,[{connection_readers,0},
          {connection_writers,0},
          {connection_channels,0},
          {connection_other,0},
          {queue_procs,0},
          {queue_slave_procs,0},
          {plugins,430944},
          {other_proc,26261296},
          {metrics,1550200},
          {mgmt_db,11855552},
          {mnesia,88312},
          {other_ets,1471152},
          {binary,791440},
          {msg_index,93152},
          {code,20055794},
          {atom,998737},
          {other_system,67797016},
          {allocated_unused,907408},
          {reserved_unallocated,0},
          {strategy,rss},
          {total,[{erlang,104253872},
                  {rss,72995840},
                  {allocated,114349072}]}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
 {vm_memory_calculation_strategy,rss},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,654311342}]
...done.

RabbitMQ管理界面

RabbitMQ提供了一个用户友好的管理界面,用于监控和管理消息队列。我们可以通过以下命令打开RabbitMQ管理界面:

sudo rabbitmq-plugins enable rabbitmq_management
sudo systemctl restart rabbitmq-server

然后,在浏览器中访问http://localhost:15672,你将能够看到RabbitMQ管理界面。在第一次打开界面时,你需要使用默认的用户名和密码guest/guest进行登录。

创建消息队列和发送消息

现在我们已经成功搭建了RabbitMQ消息队列服务并打开了管理界面,接下来我们将演示如何创建队列并发送消息。

  1. 创建一个队列:在RabbitMQ管理界面的“Queues”选项卡中,点击“Add a new queue”按钮。输入队列的名称和其他相关选项,然后点击“Add queue”。

  2. 发送消息:在RabbitMQ管理界面的“Exchanges”选项卡中,点击“Add a new exchange”按钮。输入交换机的名称和类型,然后点击“Add exchange”。

    在“Queues”选项卡中,找到刚刚创建的队列,点击队列的名称,进入队列详情页面。在页面的底部,你将看到一个“Publish message”部分。在“Payload”字段中,输入要发送的消息,然后点击“Publish message”按钮。

  3. 查看消息:在队列详情页面的顶部,点击“Get messages”按钮,你将能够看到刚刚发送的消息。

恭喜!你已经成功创建了一个消息队列并发送了一条消息。

总结

通过本篇博客,我们学习了如何在Linux系统上搭建RabbitMQ消息队列服务。我们安装了Erlang和RabbitMQ,并启动了RabbitMQ服务。我们还了解了RabbitMQ的管理界面,并演示了创建队列和发送消息的过程。RabbitMQ作为一个功能强大且易于使用的消息代理服务器,为我们提供了灵活而可靠的消息传递机制。希望这篇博客对你有所帮助,谢谢阅读!

参考资料:


全部评论: 0

    我有话说: