消息中间件:RabbitMQ镜像集群部署配置全流程

目录

1、特点

2、RabbitMQ的消息传递模式

2.1、简单模式(Simple Mode)

2.2、工作队列模式(Work Queue Mode)

2.3、发布/订阅模式(Publish/Subscribe Mode)

2.4、路由模式(Routing Mode)

3、RabbitMQ集群

3.1、RabbitMQ部署和集群配置的三种模式

3.2、RabbitMQ集群的基本概念

3.2.1、节点类型

3.2.2、核心组件

4、rabbitMQ普通集群部署

4.1、环境准备

4.2、安装relang环境(三台服务器安装配置一致)

4.3、安装rabbitMQ(三台服务器安装配置一致)

下载安装

启动

4.4、开启web访问页面(启用插件)

4.5、访问(新增用户,设置权限)

4.6、创建日志、数据保存目录

4.7、创建配置文件并配置

4.8、构建erlang集群

4.9、将节点加入集群,并指定角色

4.10、查看集群状态

4.11、验证

5、rabbitMQ镜像集群配置

RabbitMQ 是一个基于 AMQP(高级消息队列协议)的开源的消息代理。

1、特点

  1.   支持多种协议(AMQP, MQTT, STOMP等)。
  2.   强大的消息路由功能。
  3.   支持事务和确认机制,保证消息传递的可靠性。
  4.   提供丰富的管理界面和监控功能。

2、RabbitMQ的消息传递模式

2.1、简单模式(Simple Mode)

P2P模式包含三个角色:消息队列(Queue)、发送者(Sender)、接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到它们被消费或超时。适用于简单的点对点通信场景

  • 每个消息只有一个消费者(Consumer),即一旦被消费,消息就不再在消息队列中
  • 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行它不会影响到消息被发送到队列
  • 接收者在成功接收消息之后需向队列应答成功
  • 如果希望发送的每个消息都会被成功处理的话,那么需要P2P模式

2.2、工作队列模式(Work Queue Mode)

适用于需要并行处理任务的场景,如图像处理、数据计算等。

特点:

允许多个消费者从同一个队列中接收消息。这种模式通过在消费者之间分配任务来提高消息处理的效率。

2.3、发布/订阅模式(Publish/Subscribe Mode)

P2P模式包含三个角色:消息队列(Queue)、发送者(Sender)、接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到它们被消费或超时。适用于需要消息广播的场景,例如新闻更新、日志记录等。

特点:

  1. 每个消息可以有多个消费者发布者和订阅者之间有时间上的依赖性。
  2. 针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息
  3. 为了消费消息,订阅者必须保持运行的状态
  4. 如果希望发送的消息可以不被做任何处理、或者只被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型

2.4、路由模式(Routing Mode)

适用于需要根据特定条件或规则将消息路由到不同处理者的场景。

特点:

生产者将消息发送到交换机,交换机根据消息的路由键(Routing Key)将消息发送到特定的队列。消费者监听这些队列以接收消息。

3、RabbitMQ集群

3.1、RabbitMQ部署和集群配置的三种模式

1、单机模式。

2、普通模式(默认的集群模式)。

3、镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适合)。要实现镜像模式,需要先搭建出普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。

3.2、RabbitMQ集群的基本概念

在 RabbitMQ 集群中,所有节点都会同步元数据,包括队列、交换器、绑定和 vhost 的定义。这意味着无论在哪个节点上创建或修改这些资源,其他节点都会自动更新。

3.2.1、节点类型

磁盘节点:默认的节点类型,将元数据(包括队列、交换器、绑定和 vhost 的定义)存储在磁盘上。集群中至少需要一个磁盘节点来持久化元数据。

内存节点:将元数据存储在内存中,不提供持久化。通常用于提高性能,但重启后元数据会丢失。

内存节点虽然不写入磁盘,但是它执行比磁盘节点要好。集群中,只需要一个磁盘节点来保存数据就足够了

如果集群中只有内存节点,那么不能停止它们,否则所有的状态,消息等都会丢失。

3.2.2、核心组件

Broker:消息队列服务器实体

ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用;

Exchange(交换器):用于接受、分配消息;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全镇人的希望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值