RabbitMQ 安装及简单使用(基于 docker|白小纯版)

Docker中安装RabbitMQ

安装RabbitMQ

首先,使用Docker安装RabbitMQ

~ mkdir -p ~/data/rabbitmq

~ docker run -d --hostname rabbit-svr --name rabbit -p 5672:5672 -p 15672:15672 -p 25672:25672 -v /Users/{user}/data/rabbitmq:/var/lib/rabbitmq rabbitmq:management
  • -d 表示程序在后台静默运行;

  • --hostname 指定 RabbitMQ 的主机名称;

  • --name 指定启动的容器名称;

  • -p 指定端口映射,此处 5672 端口用于程序访问 RabbitMQ 的接口;15672 端口是用于 RabbitMQ 可视化 UI 管理的暴露端口,可以通过在浏览器中输入 localhost:15672 访问 RabbitMQ 的管理控制台,默认登陆账号密码是 guest,guest25672 端口用于 RabbitMQ 集群各节点之间的通讯。

    RabbitMQ图形化UI
  • -v 将本地目录挂载到 Docker 容器中以实现数据持久化,用法:-v local_dir:docker_dir, 路径使用绝对路径

  • rabbitmq:management 指的是构建容器需要用到的镜像以及标签。

查看运行状态

~ docker ps|grep rabbit

d6a2bd41361d        rabbitmq:management   "docker-entrypoint.s…"   30 minutes ago      Up 30 minutes       4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp, 15671/tcp, 0.0.0.0:25672->25672/tcp   rabbit

容器运行状况良好,构建成功。

简单使用(多图预警)

创建交换机(Exchange)

  1. 登录账号进入管理面板,点击最上面 Tab 中的 Exchanges;

    截屏2019-11-25下午6.08.34
  2. 滚动到最下面,点击 Add a new exchange,选择自己需要的配置;

    截屏2019-11-25下午6.10.37
  3. 点击 Add exchange ,添加交换器。

    截屏2019-11-25下午6.22.50

创建队列(Queue)

  1. 点击点击最上面 Tab 中的 Queues;

  2. 点击 Add a new queue,一般队列名字可以跟将要绑定的 Exchage 名称一致;

    截屏2019-11-25下午6.38.43
  3. 点击 Add queue,添加队列。

    截屏2019-11-25下午6.39.02
  4. 点击队列列表的队列名称,查看相应队列详情。

    截屏2019-11-25下午6.43.47

    详情:

    截屏2019-11-25下午6.45.42

绑定交换器和队列

  1. 点击 queues 页面下的 Bindings;

    截屏2019-11-25下午6.53.59
    • From exchange 要绑定的交换器名称;
    • Routing key 只有 Routing Keytest-test 的消息才会被这个队列接收。
  2. 点击 Bind

    截屏2019-11-25下午6.58.42

    可见绑定成功。

测试信息的发布和接收

  1. 回到 Exchanges 页面,点击刚才新建的 test 进入详情;

    截屏2019-11-25下午6.22.50

    点击test详情页面的 Publish message

    截屏2019-11-25下午7.06.52
  2. Routing key 出输入 test_test, Payload处输入测试内容:

    截屏2019-11-25下午7.09.33
  3. 点击 Publish message,可以看到消息发布成功;

    截屏2019-11-25下午7.12.34
  4. 接着回到查看队列 test 的详情,进一步说明消息已经在队列 test 中了;

    截屏2019-11-25下午7.14.20
  5. 接着点击队列 test 详情中的 Get messages 消费队列中的信息;

    • Ack Mode 应答模式,值为 Nack message requeue true 时代表消息消费完,重新压回到队列中;值为 Ack message requeue false 时,消息消费完后,消息会从队列中移除掉。
    截屏2019-11-25下午7.23.34

    消费成功。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

@lovecn 没 我感jio 英文版的有逼格啊 :joy:

4年前 评论

@lovecn 用真實ip這樣好嗎?不隱藏一下?!

4年前 评论
lovecn 4年前
j90s5520 (作者) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!