MQ集群部署
期待的部署架构
其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中。
安装erlang,略。。
安装rabbitMQ,略。。
基本配置(NODENAME之类的,略)
配置本地集群
配置hosts
同一机房集群的两台机器都要配置host,要保证可以通过hosts访问到同一机房的集群机器
比如同一机房的两台机
NODENAME=rabbit@111_100_222_217
NODENAME=rabbit@111_100_222_218
111_100_222_217为同ip对应的域名
需要在这两台机上,配置/etc/hosts,增加配置如下:
111.100.222.217 111_100_222_217
111.100.222.218 111_100_222_218
加入集群
在两台机器上,先启动MQ:
./rabbitmq-server&(同机房集群里的都要启动,不然后面join不进去)
然后在其中每台机器上,执行命令:
./rabbitmq-plugins enable rabbitmq_federation rabbitmq_federation_management rabbitmq_management
./rabbitmqctl stop_app
./rabbitmqctl reset
./rabbitmqctl join_cluster rabbit@111_100_222_218
(218那台机器是
./rabbitmqctl join_cluster rabbit@111_100_222_217
目的是相互增加对方为集群)
最后,重启MQ
./rabbitmq-server&(如果存在则先kill掉 )
本地集群配置完毕
本地MQ集群和中心MQ集群的同步
同步是单向的,都是单向同步到中心MQ
本地MQ集群的同步配置
在每个本地MQ集群中,配置一下:(一个集群只需要一台机器配置,会自动扩散到集群)
增加admin用户并设置权限
./rabbitmqctl add_user admin yy-cloud
./rabbitmqctl set_permissions admin ".*" ".*" ".*"
./rabbitmqctl set_user_tags admin administrator
设置策略
./rabbitmqctl set_policy ha-federation "^federation" '{"ha-mode":"exactly","ha-params":2}' 0
本地MQ集群的同步配置完成了.
中心MQ集群配置
设置策略
./rabbitmqctl set_policy ha-federation "^federation" '{"ha-mode":"exactly","ha-params":2}' 0
然后上中心MQ的web管理界面,在Admin下有个Federation Upstreams插件,为每个需要同步过来的MQ集群增加upstreams. 需要配置的是URI参数和Expries参数,其他参数一概默认就行
记得每个需要同步过来的MQ集群都要配置一下。 最后,大功告成了!
- 大小: 6.5 KB
分享到:
相关推荐
【RabbitMQ高可用集群部署】是实际生产环境中常见的解决方案,因为单一实例的RabbitMQ在面对高并发、高吞吐量以及消息堆积时可能存在局限性。为了提高系统的可靠性和可扩展性,采用集群模式是必要的。RabbitMQ基于...
综上所述,RabbitMQ和ActiveMQ在集群部署中都需要关注高可用性、性能和扩展性。理解并掌握这两种消息队列的集群配置和管理,对构建健壮的分布式系统有着极其重要的意义。通过阅读提供的PDF文档,读者将能够深入了解...
《RabbitMQ高效部署分布式消息队列实战篇》是一份深度解析RabbitMQ技术的教程,结合实际应用案例,旨在帮助读者深入理解并熟练掌握如何在分布式环境中高效部署和运用消息队列。RabbitMQ作为业界广泛采用的消息中间件...
在分布式系统中,消息队列(RabbitMQ)是一种重要的组件,它用于解耦应用之间的通信,提高系统的可扩展性和容错性。RabbitMQ 是基于 AMQP(Advanced Message Queuing Protocol)的开源消息代理软件,支持多种编程语言...
由于Erlang语言本身的分布式特性,使得RabbitMQ天然支持集群部署,这不仅能够提升系统的可用性和容错能力,还能通过水平扩展来增加系统的消息吞吐量。 ##### 1.1 集群架构概述 RabbitMQ集群由多个节点组成,每个...
集群配置涉及节点间的心跳检测、数据同步以及故障恢复策略。 7. **插件管理**:RabbitMQ提供了丰富的插件,如用于监控的rabbitmq_management,可以按需安装。 8. **消息持久化**:为了防止因服务器重启而丢失消息...
这包括设置节点之间的信任关系,同步磁盘数据,以及配置自动故障恢复机制。同时,了解网络分区(Network Partitions)对RabbitMQ的影响及其处理策略也是十分必要的。 消息队列的高效利用涉及到消息的持久化策略。...
**RabbitMQ 集群详解** RabbitMQ 是一个基于AMQP(Advanced Message Queuing Protocol)协议的开源消息中间件,...在实际部署中,还需要关注集群的容错策略、网络架构以及资源规划等多个方面,以实现最优的系统设计。
同时,会涉及集群(Cluster)和高可用性(High Availability)的设置,通过创建RabbitMQ集群,可以实现多节点之间的数据同步,确保服务的连续性。 此外,结合Java开发,书里将展示如何使用RabbitMQ的Java客户端库...
在本篇中,我们将深入探讨 RabbitMQ 的几个高级特性:消息可靠性、死信交换机、惰性队列以及MQ集群部署。 ### 1. 消息可靠性 确保消息传递的可靠性是 RabbitMQ 的核心功能之一。这主要通过以下几种方式实现: - *...
- RabbitMQ支持集群部署,多个节点可以协同工作,提高服务的可用性和数据冗余。 - 镜像队列功能可以保证队列的数据在集群中的多个节点间同步,确保故障切换时无数据丢失。 综上所述,通过下载并安装提供的Erlang...
本文将详细介绍一个基于14台机器的JAVA集群部署方案,包括LVS负载均衡、Tomcat集群、MySQL主从复制、Nginx动静态分离、Hadoop集群、Memcached/Redis缓存服务以及消息队列等关键技术的应用。 #### 二、架构概述 该...
- **集群搭建**:通过多台服务器构建RabbitMQ集群,实现高可用性和故障转移。 5. **分布式消息队列** - **分布式消息队列的优势**:提高系统性能,通过异步处理减轻后端服务压力;增强系统容错性,消息持久化避免...
通过使用Terraform,你可以确保RabbitMQ集群的配置与你的代码库保持同步,并能够轻松地进行版本控制和审核。 模块的主要功能包括: 1. **Auto Scaling 组**:AWS Auto Scaling是一种服务,可以根据需求自动调整EC2...
1. 集群模式:多台服务器构成RabbitMQ集群,提供高可用性和数据冗余。节点间的数据同步是通过镜像队列(Mirrored Queues)实现的,保证了即使某个节点故障,消息也不会丢失。 2. 负载均衡:通过交换机的类型(如...
### RabbitMQ消息服务用户手册知识点概览 ...通过以上详细的知识点概览,我们可以清晰地了解到RabbitMQ消息服务用户手册中涉及的关键技术细节和实践步骤,这对于理解和部署RabbitMQ集群具有重要的参考价值。
通过以上步骤,我们可以顺利完成RabbitMQ的安装、配置以及集群部署。特别需要注意的是,在构建集群时,确保所有节点之间的网络通信畅通无阻,同时确保每个节点都有正确的配置文件和一致的认证信息。此外,合理利用...
分布式特性则意味着RabbitMQ可以部署在多台机器上,形成集群,提供更高的可用性和扩展性。 在“压缩包子文件的文件名称列表”中,只列出了“rabbitmq-server-3.9.13.exe”。这表明该压缩包可能仅包含RabbitMQ服务器...
【RabbitMQ消息服务用户手册2】主要涵盖了RabbitMQ集群的配置、运行以及相关知识点。以下是手册中的关键内容详解: 1. **集群概述**: - RabbitMQ集群是由多个Erlang节点组成的,这些节点运行RabbitMQ应用,共同...