mq

作者: 朴炯文 | 来源:发表于2020-02-25 07:41 被阅读0次

启动rabbitmq

启动、停止、重启、状态rabbitMq命令


sudo rabbitmq-server start

sudo rabbitmq-server stop

sudo rabbitmq-server restart

sudo rabbitmqctl status

```

进入/etc/rabbitmq

`sudo rabbitmq-plugins enable rabbitmq_management`

# 操作

## 关于应用

```yaml

rabbitmqctl start_app:

启动应用

rabbitmqctl stop_app:

关闭应用

rabbitmqctl status:

节点状态

rabbitmqctl reset:

移除所有数据,要在rabbitmqctl stop_app之后使用

rabbitmqctl join_cluster <clusternode> [--ram]:

组成集群命令

rabbitmqctl cluster_status:

查看集群状态

rabbitmqctl change_cluster_node_type disc|ram:

修改集群节点的存储形式

rabbitmqctl forget_cluster_node [--offline]:

忘记节点(摘除节点)

rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2]:

修改节点名称

```

## 关于用户

```yaml

rabbitmqctl add_user username password:

添加用户

rabbitmqctl list_users:

列出所有用户

rabbitmqctl dekete_user username:

删除用户

rabbitmqctl clear_permissions -p vhostpath username:

清除用户权限

rabbitmqctl list_user_permissions username:

列出用户权限

rabbitmqctl change_password username newpassword:

修改密码

rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*":

设置用户权限

```

## 关于虚拟主机

```yaml

rabbitmqctl add_vhost vhostpath:

创建虚拟主机

rabbitmqctl list_vhosts:

列出所有虚拟主机

rabbitmqctl list_permissions -p vhostpath:

列出虚拟主机上所有权限

rabbitmqctl delete_vhost vhostpath:

删除虚拟主机

```

## 关于队列

```yaml

rabbitmqctl list_queues:

查看所有队列信息

rabbitmqctl -p vhostpath purge_queue blue:

清除队列里的消息

```

# exchange交换机

## 交换机属性

```yaml

name:

交换机名称

type:

direct,topic,fanout,headers

durability:

是否需要持久化,true为持久化

auto delete:

当最后一个绑定到exchange删的队列删除后,自动删除该exchange

internal:

当前exchange是否用于rabbitmq内部使用,默认为false

arguments:

扩展参数,用于扩展amqp协议自制定化使用

```

## 交换机类型

### direct exchange

所有发送到direct exchange的消息被转发到RouteKey中指定的queue

注意:direct模式可以使用rabbitmq自带的exchange:default exchange,所以不需要将exchange进行任何绑定(binding)操作,消息传递时,RouteKey必须完全匹配才会被队列接受,否则该消息会被抛弃

### topic exchange

所有发送到topic exchange的消息被转发到所有关心RouteKey中指定topic的queue上

exchange将routekey和某topic进行模糊匹配,此时队列需要绑定一个topic

### fanout exchange

不处理路由键,只需要见得将队列绑定到交换机上。

发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。

fanout交换机转发消息是最快的

# Binding绑定

## 概述

exchange和exchange、queue之间的连接关系

Binding中可以包含routekey或者参数

# Queue消息队列

## 概述

消息队列,实际存储消息数据

durability:是否持久化,durable:是,transient:否

auto delete:如选yes,代表当最后一个监听被移除之后,该queue会自动被删除

# Message消息

## 概述

服务器应用程序之间传送的数据

本质上就是一段数据,由properties和payload(body)组成

常用属性:delivery mode、headers(自定义属性)

其他属性:

​   content_type, content_encoding, priority

​   correlation_id,reply_to,expiration,message_id

​   timestamp,type,user_id,cluster_id

相关文章

  • MQ的使用及QMQ的设计

    1. 为什么要用MQ? MQ带来了什么好处? 带来了什么坏处? 为什么要用MQ?MQ(message queue)...

  • RocketMQ整体介绍

    1. MQ介绍 1.1 什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列。队列,是一种FIF...

  • MQ

    什么是MQ?MQ全称为Message Queue, 消息队列(MQ)是应用程序“对”应用程序的通信方法。MQ:生产...

  • RocketMQ集群消息与广播消费

    如图A项目的MQ组(mq.group=A) A项目部署了两台tomcatB项目的MQ组(mq.group=B)...

  • centos7 安装rabbitMQ 踩坑

    1、安装mq,首先mq以来erlang插件,所以必须安装 erlang 插件 首先在mq官网查看mq和erlang...

  • 消息队列

    MQ的作用 消息通信MQ的基础功能即为消息通信。使用MQ的客户端可以将消息发送到MQ中,也可以从MQ中消费消息。 ...

  • spring 使用 rabbit mq

    rabbit mq 安装 brew 安装 rabbit mq后台rabbit mq后台 用户名:guest 密码...

  • Prometheus监控MQ集群

    mq 为Rabbitmq 。 下载插件:rabbitmq_exporter(集群中所有的mq node)3台mq ...

  • MQ精华液,你值得更好(MQ青春定制)

    MQ 重塑紧致轮廓,绽现纯净光彩 MQ青春定制:MQ精华+MQ波导入+SMAS剥离术 青春之力注入生命之源 在技术...

  • 【MQ】初始MQ

    title: 【MQ】初始MQdate: 2017-12-08 21:48:26tags: MQcategorie...

网友评论

      本文标题:mq

      本文链接:https://www.haomeiwen.com/subject/fotzqhtx.html