ActiveMQ使用笔记(六)ActiveMQ主备配置
ActiveMQ的主备有三种方式:纯Master/Slave、文件共享方式、数据库共享方式。
1、纯Master/Slave
这种方式的主备不需要对Master Broker做特殊的配置,只要在Slave Broker中指定他的Master就可以了,指定Master有两种方式,最简单的配置就是在broker节点中添加 masterConnectorURI=”tcp://localhost:61616″即可,还有一种方式就是添加一个services节点,可以指定 连接的用户名和密码,配置如下:
<services> <masterConnector remoteURI= "tcp://localhost:61616" userName="system" password="manager"/> </services>
纯Master/Slave只允许一个Slave连接到Master上面,也就是说只能有2台MQ做集群,同时当Master挂了之后需要停止Slave来恢复负载。
2、数据库共享方式
这种方式的主备采用数据库做消息的持久化,支持多个Slave,所有broker持久化数据源配置成同一个数据源,当一个broker获取的数据库锁之 后,其他的broker都成为slave并且等待获取锁,当master挂了之后,其中的一个slave将会立刻获得数据库锁成为master,重启之前 挂掉的master之后,这个master也就成了slave,不需要停止slave来恢复。由于采用的是数据库做为持久化,它的性能是有限的。
3、文件共享方式
这种方式的主备具有和数据库共享方式的负载一样的特性,不同的是broker的持久化采用的是文件(我这里用KahaDB),slave等待获取的锁是文件锁,它具有更高的性能,但是需要文件共享系统的支持。
Window下共享KahaDB持久化的目录,配置如下:
<persistenceAdapter> <kahaDB directory="//172.16.1.202/mqdata/kahadb"/> </persistenceAdapter>
Linux下需要开启NFS服务,具体操作如下:
创建共享目录(192.168.0.1):
1、 修改etc/exports,添加需要共享的目录:/opt/mq/data *(rw,no_root_squash)
2、 启动NFS服务 service nfs start/restart
3、 查看共享 showmount –e
4、 NFS服务自启动 chkconfig –level 35 nfs on
挂载共享目录(192.168.0.2):
1、 挂载:mount –t nfs 192.168.0.1:/opt/mq/data /opt/mq/data
2、 启动自动挂载:在etc/fstab文件添加10.175.40.244:/opt/mq/data /opt/mq/data nfs defaults 0 0
然后指定KahaDB的持久化目录为/opt/mq/data即可。
AIX系统的文件共享和Linux类似,也是启动NFS服务。
注意:如果Master服务器宕机了,Slave是不会获得文件锁而启动,直到Master服务器重启。
Window下Master上有Slave连接时如图:
客户端连接的brokerURL为failover:(tcp://localhost:61616,tcp://localhost:61617)。用 第三部分的代码测试,先向Master Broker发送一个消息,然后关闭master,运行获取消息的方法,即可获取之前发送的消息。
相关推荐
2. **配置文件**:ActiveMQ 的主配置文件为 `activemq.xml`,位于 `conf` 目录下。通过编辑此文件可以修改 ActiveMQ 的各种配置选项,例如 TCP 端口、持久化策略等。 #### 配置示例 - **修改TCP端口**:如果需要...
在这个"ActiveMQ 教学视频/教程 /附带笔记等资源"的压缩包中,你将找到一系列关于如何使用ActiveMQ作为中间件的教育资源。 首先,让我们深入了解ActiveMQ的核心概念和功能: 1. **核心概念**: - **消息队列...
在本篇ActiveMQ学习笔记中,我们将探讨如何通过纯代码方式启动一个嵌入式的Broker,这对于测试、开发或者快速原型构建非常有用。ActiveMQ是一个开源的消息代理,它遵循Java消息服务(JMS)规范,提供了高可靠性的...
### ActiveMQ 使用笔记 #### 一、ActiveMQ的安装与配置 **1. 安装要求** - **JDK版本**: ActiveMQ要求JDK 1.5或更高版本。为了确保兼容性和稳定性,建议使用较新版本的JDK,例如JDK 1.6或以上。 - **Java环境变量...
**ActiveMQ笔记** ActiveMQ是Apache软件基金会的一个开源项目,它是Java消息服务(JMS)的一个实现,专门用于处理消息传递。作为一个中间件,ActiveMQ允许应用程序之间通过异步通信来解耦它们的功能,提高系统的可...
这篇"ActiveMQ学习笔记之九--发送消息到队列中"主要探讨的是如何通过编程方式向ActiveMQ队列发送消息,这对于理解和应用消息中间件至关重要。 首先,我们要理解ActiveMQ中的队列(Queue)概念。队列是一种先进先出...
这个教程很可能是指导如何在Apache服务器环境下配置和使用ActiveMQ的详细步骤。内容可能包括安装ActiveMQ、配置JMS连接、创建和管理队列与主题、调试和监控以及性能优化等方面。 4. **JMS简明教程** 这份教程...
**ActiveMQ学习笔记之一——ActiveMQ下载** ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它是基于Java消息服务(JMS)规范的,用于在分布式系统中传递消息。作为一个高性能、可伸缩且可靠的解决方案,...
### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介与消息传递机制 **ActiveMQ**是一款开源的消息中间件,支持多种消息传输协议,如AMQP、STOMP、MQTT等,广泛应用于分布式系统中进行消息传递。在ActiveMQ的...
#### 六、ActiveMQ的版本信息与翻译笔记 在给定的部分内容中提到的**ApacheActiveMQ笔记中国软件与技术服务股份有限公司-I-01689179ApacheActiveMQ笔记**,这是一份关于ActiveMQ的翻译笔记,记录了当时的产品版本为...
activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记
### Apache ActiveMQ 学习笔记 #### 一、ActiveMQ简介与安装 ##### 1.1 ActiveMQ概述 Apache ActiveMQ 是一个完全支持 JMS 1.1 和 J2EE 1.4 规范的消息服务器。它适用于 Java 消息服务 (JMS),并且是一个开源项目...
2. **配置ActiveMQ** 在`application.properties`或`application.yml`中配置ActiveMQ的相关信息,例如服务器地址、端口、用户名和密码等: ```properties # application.properties 示例 spring.activemq.broker...
当前使用较多的消息中间件有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等, 本次以Apache的ActiveMQ作为切入点,分为基础/实战/面试上中下三大部分,将带着同学们 从零基础入门到熟练掌握ActiveMQ,能够...
### 消息队列Activemq学习笔记 #### MQ入门概述 消息队列(Message Queue,简称MQ)是一种用于在应用程序之间传递数据的机制。它允许应用之间通过发送消息进行通信,而无需直接调用对方。 ##### 前言:MQ=消息...
**ActiveMQ笔记** ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是Java Message Service (JMS) 的实现,广泛应用于分布式系统中的异步通信。本笔记将详细探讨ActiveMQ的核心概念、工作原理以及实际应用...
这可能是个人或社区成员编写的笔记,涵盖了ActiveMQ的基本概念、安装步骤、配置和使用技巧。笔记通常更注重实践操作,是初学者快速上手的好资料。 3. **ActiveMQ与Tomcat整合.doc**: 这份文档详细解释了如何将...
ActiveMQ 概述 Apache ActiveMQ 是一个强大的开源消息中间件,它遵循Java消息服务(JMS)1.1规范,适用于J2EE 1.4环境。ActiveMQ 的核心功能在于提供可靠的消息传递机制,使得应用程序可以通过异步消息处理来解耦...
### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介 **定义:** - **ActiveMQ**是由Apache出品的一款功能强大的开源消息中间件。作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间...