目录

零、消息队列

一、Rabbit MQ

1-0 Erlang 安装

1-1 Rabbit MQ 安装

1-2 Rabbit MQ的基本操作

1-2-1 查看服务器状态

1-2-2 查看服务器下用户列表

1-2-3 查看已经声明的队列

1-2-4 查看交换器

1-2-5 查看绑定

1-3 插件启关操作

1-4 Rabbit MQ 用户管理

1-4-1 用户添加

1-4-2 删除用户

1-4-3 密码修改

1-4-4 修改用户权限

1-4-5 测试登陆


零、消息队列

  • 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。
  • 消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。
  • 消息队列是一种应用间的异步协作机制

一、Rabbit MQ

基于 Erlang 开发,需要 Erlang 语言环境;支持事务,推拉模式都是支持、适合需要可靠性消息传输的场景。

消息队列之 RabbitMQ

RabbitMQ的应用场景以及基本原理介绍

1-0 Erlang 安装

erlang 官方下载

java不接收rabbitmq消息_消息队列

java不接收rabbitmq消息_消息队列_02

java不接收rabbitmq消息_消息队列_03

java不接收rabbitmq消息_java不接收rabbitmq消息_04

设置环境变量

java不接收rabbitmq消息_服务器_05

java不接收rabbitmq消息_java不接收rabbitmq消息_06

java不接收rabbitmq消息_Erlang_07

1-1 Rabbit MQ 安装

rabbit - win 官方下载

java不接收rabbitmq消息_Erlang_08

java不接收rabbitmq消息_服务器_09

java不接收rabbitmq消息_Erlang_10

添加环境变量

java不接收rabbitmq消息_消息队列_11

1-2 Rabbit MQ的基本操作

java不接收rabbitmq消息_服务器_12

双击启动服务,显示服务已启动

java不接收rabbitmq消息_java不接收rabbitmq消息_13

java不接收rabbitmq消息_java不接收rabbitmq消息_14

停止服务后可以重启使用双击启动

java不接收rabbitmq消息_消息队列_15

后台启动

java不接收rabbitmq消息_消息队列_16

1-2-1 查看服务器状态

# 查看服务器状态,有输出表明服务器启动 rabbitmqctl status

java不接收rabbitmq消息_Erlang_17

1-2-2 查看服务器下用户列表

# 查看服务器下用户列表 rabbitmqctl list_users

java不接收rabbitmq消息_服务器_18

1-2-3 查看已经声明的队列

# 查看已经声明的队列 rabbitmqctl list_queues

java不接收rabbitmq消息_java不接收rabbitmq消息_19

1-2-4 查看交换器

# 查看交换器 rabbitmqctl list_exchanges # 该命令还可以附加参数,比如列出交换器的名称、类型、是否持久化、是否自动删除 rabbitmqctl list_exchanges name type durable auto_delete

java不接收rabbitmq消息_消息队列_20

1-2-5 查看绑定

# 查看绑定 rabbitmqctl list_bindings

java不接收rabbitmq消息_java不接收rabbitmq消息_21

1-3 插件启关操作

# 查看插件列表,[*]表示启用 rabbitmq-plugins list

java不接收rabbitmq消息_消息队列_22

# 插件的启用和关闭 rabbitmq-plugins enable plugin-name rabbitmq-plugins disable plugin-name

java不接收rabbitmq消息_java不接收rabbitmq消息_23

java不接收rabbitmq消息_消息队列_24

1-4 Rabbit MQ 用户管理

1-4-1 用户添加

# 添加用户,username:test,pwd:pwd rabbitmqctl add_user test pwd # 查看用户 rabbitmqctl list_users

java不接收rabbitmq消息_java不接收rabbitmq消息_25

java不接收rabbitmq消息_java不接收rabbitmq消息_26

1-4-2 删除用户

rabbitmqctl delete_user test0

java不接收rabbitmq消息_Erlang_27

1-4-3 密码修改

rabbitmqctl change_password test 123

java不接收rabbitmq消息_Erlang_28

1-4-4 修改用户权限

tag 分类

  • none :不能访问 management plugin
  • management
  • 列出自己可以通过AMQP登入的 virtual hosts
  • 查看自己的 virtual hosts 中的 queues, exchanges 和 bindings
  • 查看和关闭自己的 channels 和 connections
  • policymaker : 查看、创建和删除自己的 virtual hosts 所属的 policies 和 parameters
  • monitoring
  • 列出所有 virtual hosts,包括他们不能登录的 virtual hosts
  • 查看其他用户的 connections 和 channels
  • 查看节点级别的数据如 clustering 和 memory 使用情况
  • 查看真正的关于所有 virtual hosts 的全局的统计信息
  • administrator
  • 创建和删除 virtual hosts
  • 查看、创建和删除 users
  • 查看创建和删除 permissions
  • 关闭其他用户的 connections

# 设置指定用户对所有列表有读、写权限 rabbitmqctl set_permissions test ".*" ".*" ".*"

java不接收rabbitmq消息_消息队列_29

# 设置用户为管理员 rabbitmqctl set_user_tags test administrator

java不接收rabbitmq消息_消息队列_30

1-4-5 测试登陆

注意

  • rabbitmq 的 tag 有以下几类none、management、policymaker、monitoring、administrator
  • 其中,none无法访问 RabbitMQ 的 mangement plugin

# 基于管理插件启动的情况下,访问地址 # http://localhost:15672/ # 管理插件的启动 rabbitmq-plugins enable rabbitmq_management

无法登陆显示

java不接收rabbitmq消息_服务器_31

正常登陆后显示

java不接收rabbitmq消息_服务器_32