![](https://img-blog.csdnimg.cn/53f9c046f84c440ebd88678d0665ee70.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RabbitMQ
文章平均质量分 74
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
Mr.D.Chuang
时代各有不同,青春一脉相承。一起学习,一起奋进,一起进步,砥砺前行。
展开
-
中间件RabbitMQ消息队列介绍
MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常 见的上下游逻辑解耦+物理解耦的消息通信服务。使用了MQ之后, 消息发送上游只需要依赖MQ,不 用依赖其他服务。RabbitMQ是一个消息中间件:它接受并转发消息。原创 2023-08-08 21:09:18 · 821 阅读 · 0 评论 -
RabbitMQ集群部署之仲裁队列
从RabbitMQ 3.8版本开始,引入了新的仲裁队列,他具备与镜像队里类似的功能,但使用更加方便。在任意控制台添加一个队列,一定要选择队列类型为Quorum类型。可以看到,仲裁队列的+ 2字样。代表这个队列有2个镜像节点。因为仲裁队列默认的镜像数为5。如果你的集群有7个节点,那么镜像数肯定是5;而我们集群只有3个节点,因此镜像数量就是3。原创 2023-06-11 21:37:28 · 660 阅读 · 0 评论 -
RabbitMQ集群部署之镜像模式
RabbitMQ集群的普通模式中,一旦创建队列的主机宕机,队列就会不可用。不具备高可用能力。如果要解决这个问题,必须使用官方提供的镜像集群方案。默认情况下,队列只保存在创建该队列的节点上。而镜像模式下,创建队列的节点被称为该队列的主节点,队列还会拷贝到集群中的其它节点,也叫做该队列的镜像节点。但是,不同队列可以在集群中的任意节点上创建,因此不同队列的主节点可以不同。甚至,一个队列的主节点可能是另一个队列的镜像节点。用户发送给队列的一切请求,例如发送消息、消息回执默认都会在主节点完成,如果是从节点接收到请求,原创 2023-06-11 20:13:11 · 2424 阅读 · 0 评论 -
RabbitMQ集群部署之普通模式
在RabbitMQ的官方文档中,讲述了两种集群的配置方式:普通模式、镜像模式。普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同步)。例如我们有2个MQ:mq1,和mq2,如果你的消息在mq1,而你连接到了mq2,那么mq2会去mq1拉取消息,然后返回给你。如果mq1宕机,消息就会丢失。RabbitMQ底层依赖于Erlang,而Erlang虚拟机就是一个面向分布式的语言,默认就支持集群模式。集群模式中的每个RabbitMQ节点使用cookie来确定它们是否被原创 2023-06-10 22:17:09 · 1139 阅读 · 0 评论 -
Docker部署安装RabbitMQ
我们在Centos7虚拟机中使用Docker来安装。Docker在线拉取 docker pull rabbitmq:3-management ,执行下面的命令来运行MQ容器:docker run \ -e RABBITMQ_DEFAULT_USER=dcxuexi \ -e RABBITMQ_DEFAULT_PASS=dcxuexi1234 \ --name mq \ --hostname mq1 \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitm原创 2023-03-20 20:12:39 · 58 阅读 · 0 评论 -
SpringCloud:初识RabbitMQ及快速入门
微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:ActiveMQ、RabbitMQ、RocketMQ、Kafka。RabbitMQ中的一些角色:publisher:生产者;consumer:消费者;exchange:交换机,负责消息路由;queue:队列,存储消息;virtualHost:虚拟主机,隔离不同租户的ex原创 2023-03-21 07:45:00 · 158 阅读 · 0 评论