前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RabbitMq笔记说明

RabbitMq笔记说明

作者头像
93年的老男孩
发布2019-12-18 17:31:35
6530
发布2019-12-18 17:31:35
举报

生产者工作模式:将消息 msg 发送给指定的交换器 exchange, 由交换器 exchange 根据指定的规则-路由键 (routing key) 决定投递到哪个队列 queue

消费者工作模式:声明一个队列,将队列绑定到交换器 exchange, 并指定接收消息的规则-路由键(routing key) 

1.basic.consume 接收模式 消息已达到队列自动接收(使用使用basic.consume来实现高吞吐量)

2.basic.get 主动拉去一条数据

3.basic.ack 显式发送一个确认 (当参数auto_ack 设置 true 时,自动确认消息) 如果不确认将会不在发送消息

4.rabbit 2.0.0 之后 basic.reject 显式拒绝rabbit发送消息 如果把reject 命令的requeue参数设置true,rabbitmq将会重新发送下一个,如果为false,rabbit将会移除 (放到死信中)

5.queue.declare 创建队列 必须先取消订阅并将信道设置为 传输 模式。passive true 只检测不创建 durable true 为 持久化 exclusive 设置true 将会变成私有 auto-delete 自动删除 最后一个取消订阅就会移除队列 

6.四种类型 direct fanout topic headers (headers抛弃) 

可以 以队列名称 作为 路由键

direct (路由键匹配,投递到对应的队列) channel->basic_publish("消息内容","空字符 指定默认交换器","路由键") exchange.declare (创建队列设置合适参数) 

fanout (将接收到的消息绑定到队列上 发送到所有指定交换器的队列,用于同一条消息,需要多种操作) 

topic (来自不同源头的消息达到同一个队列) channel->basic_publish("消息内容","空字符 指定默认交换器","路由键") channel->queue_bind("队列名称","空字符 指定默认交换器","路由键 *.abc.abc模糊匹配 #匹配所有")

交换器、队列、绑定   根据绑定规则将队列绑定到交换器   消息发布到交换器   三种类型 基于路由键和交换器类型,服务器决定将消息投递到哪个队列

7.vhost 虚拟主机 默认vhost为 /

rabbitmqctl add_vhost 虚拟主机名称 创建虚拟主机 rabbitmqctl delete_vhost 虚拟主机名称 删除虚拟主机 rabbitmqctl list_vhosts 列出虚拟主机列表 通过 -n rabbit@ip 管理远程借点

8.持久化 

默认重启之后 交换器与队列消失, 原因在于参数 durable 为 false 

持久化 将 队列 与 交换器 durable 设置为 true 将消息队列的投递模式 delivery mode 设置为 2 标记持久化 (必须使用持久化投递模式2 发布到持久化的交换器 到达 发布到持久化的队列)

将信道设置成事务模式 

9.rabbitmq 

启动 ./sbin/rabbitmq-server   守护进程启动 ./sbin/rabbitmq-server -detached   停止 ./sbin/rabbitmqctl stop

指定端口与节点名称 RABBITMQ_NODENAME name RABBITMQ_NODE_PORT 5672 ./sbin/rabbitmq-server -detached

清空 ./sbin/rabbitmq-server -n name@ip reset

#添加集群 ./sbin/rabbitmqctl -n name1@ip reset cluster name1@ip reset name@ip reset

停止 ./sbin/rabbitmqctl stop_app 启动 ./sbin/rabbitmqctl start_app

10.rabbitmq-web

添加插件 ./sbin/rabbitmq-plugins enable rabbitmq_management 访问 127.0.0.1:15672 

取消插件 ./sbin/rabbitmq-plugins disable rabbitmq_management

11.管理用户

新增 ./sbin/rabbitmqctl add_user user_name pass_word 删除 ./sbin/rabbitmqctl delete_user user_name 修改密码 ./sbin/rabbitmqctl change_user user_name pass_word

配置权限 ./sbin/rabbitmqctl set_permissions -p vhost_name user_name .* .* .* (配置 写 读) 清除权限 ./sbin/rabbitmqctl clear_permissions -p vhost_name user_name

列出权限列表 ./sbin/rabbitmqctl list_permissions -p vhost_name 列出用户权限列表 ./sbin/rabbitmqctl list_user_permissions user_name

列出交换器列表 ./sbin/rabbitmqctl list_exchanges -p vhost_name

列出队列列表 ./sbin/rabbitmqctl list_queues -p vhost_name 

列出绑定列表 ./sbin/rabbitmqctl list_bindings -p vhost_name 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档