rabbitMQ 从入门到放弃

本文深入探讨了RabbitMQ的六大应用场景,包括HelloWorld、WorkQueue、发布/订阅、路由、Topic及RPC模式,同时介绍了消息确认机制confirm与return,以及四种集群架构模式:主备、镜像、远程和多活模式,为读者提供了全面的RabbitMQ使用指南。
摘要由CSDN通过智能技术生成
mq的作用
  1. 解耦
  2. 冗余 保证数据安全,不丢失数据
  3. 流量削峰
  4. 保证顺序
  5. 异步通信
windows 下载安装
  1. 下载安装erlang语言环境 otp_win64_21.0.1.exe,安装过程一直下一步直到完成就可以了
  2. 下载安装rabbitMQ rabbitmq-server-3.7.7.exe,也是一直下一步直到完成
  3. 激活mq控制台 cd sbin ,rabbitmq-plugins.bat enable rabbitmq_management
  4. 浏览http://localhost:15672/, 登录账号/密码 guest/guest
基本概念

在这里插入图`````````````````片描述

linux 下载安装
linux 下的常用命令
  1. rabbitmq-server 前台启动服务
  2. rabbitmq-server-detached 后台启动服务
  3. rabbitmqctl stop 停止服务
  4. rabbitmqctl start_app 恢复应用
  5. rabbitmqctl stop_app 停止应用,但是不停止服务
  6. rabbitmqctl add_user {username} {password} 创建用户
  7. rabbitmqctl delete_user {username}
  8. rabbitmqctl change_password {username} {newpassword}
  9. rabbitmqctl ser_user_tags {username} {tag} 授予用户角色
    10.rabbitmqctl set_permissions -p / user_admin ‘.’’.’’.*’ 设置允许访问的vhost
6种模式
 1. hello world :一对一,只是用于测试,学习mq
 2. work queue :它会发送一些耗时的任务给多个工作者(worker).在多个消息的情况下,work queue 会将小安溪分派给不同的消费者,每个消费者都会接收到不同的消息,并且可以根据处理消息的速度来接收消息的数据量,进而让消费者程序发挥最大性能.work queue特别适合在集群环境中做异步处理,能最大程度发挥每台机器的性能.
 3. 发布/订阅模式 发布/订阅模式中,生产者不再直接与队列绑定,而是将数据发送至"交换机(exchange)" 交换机用于将数据按某种规则送入与之绑定的队列,进而供消费者使用.发布/订阅模式中,交换机将无差别的将所有消息送入与之绑定的队列,所有消费者拿到的消息完全相同,交换机的类型被称为fanout
 4. 路由(Routing)模式是在发布订阅模式基础上的变种.发布订阅模式是无条件将所有消息分发给所有消费者队列.路由模式则是交换机根据Routing Key 有条件的将数据筛选后发送给消费者队列.路由模式下交换机的类型被称为direct
 5. topic 模式 是在routing模式的基础上,提供了对RouteKey模糊匹配的功能,可以简化程序的编写.主题模式下,模糊匹配表达式规则为 * 匹配你单个关键字,#匹配所有关键字.主题模式下交换机的类型被称为topic.
 6. rpc 这个用的非常少,真的要用到rpc 也不会用RabbitMQ的
消息确认机制 confirm 与 return

confirm 代表生产者将消息送到Broker时产生的 状态,后续出现两种情况:
-ack 代表Broker已经将数据接收.
-nack 代表Broker拒收消息.原因有很多,比如队列已满,限流,io异常…
Return 代表消息被Broker正常接收(ack)后,但是Broker没有对应的队列进行投递时产生的状态,消息被退回给生产者.
注意:上面两种状态只代表生产者与Broker之间的消息投递情况.与消费者是否接收/确认消息无关.

RabbitMQ 集群架构模式

主备模式(Warren)
实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好 用且简单
镜像模式(Mirror)
集群模式非常经典的及时mirro镜像模式,保证100%数据不丢失,在实际工作中也是用得最多的.并且实现集群非常的简单,一般互联网大厂都会构建这种镜像集群模式
远程模式(Shovel)
远程模式可以实现双活的一种模式,简称shovel模式,所谓shovel就是我们可以把消息进行不同数据中心的复制工作,我们可以跨地域的让两个mq集群互联
多活模式(Federation)
这种模式也是实现异地数据复制的主流模式,因为shovel模式配置比较复杂,所以一般来说实现异地集群都是使用这种双活或者多活模型来实现的.这种模型需要依赖rabitmq的federation插件,可以实现持续的可靠的amqp数据通信,多活模式在实际配置与应用非常的简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值