linux上ActiveMQ 集群安装、配置和高可用测试

本文详述了如何在Linux上基于ZooKeeper和LevelDB搭建ActiveMQ集群,包括集群的三种实现方式对比,重点讲解了LevelDB集群的配置步骤,以及集群的高可用测试和故障恢复机制。通过集群部署,实现了ActiveMQ的主备切换和避免单点故障。
摘要由CSDN通过智能技术生成

从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于ZooKeeper + LevelDB的 Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在。 

 

三种集群方式的对比: 

(1)基于共享文件系统(KahaDB,默认): 

<persistenceAdapter> 

<kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> 

 

(2)基于 JDBC:

 <bean id="MySQL-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

 <property name="url" value="jdbc:mysql://localhost:3306/amq?relaxAutoCommit=true"/> <property name="username" value="root"/>

 <property name="password" value="root"/> <property name="maxActive" value="20"/>

 <property name="poolPreparedStatements" value="true"/> </bean>

 <persistenceAdapter> 

<jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#mysql-ds" createTablesOnStartup="false"/>

 </persistenceAdapter>

 

(3)基于可复制的 LevelDB(本文采用这种集群方式): 

LevelDB 是 Google开发的一套用于持久化数据的高性能类库。LevelDB并不是一种服务,用户需要自 行实现Server。是单进程的服务,能够处理十亿级别规模Key-Value 型数据,占用内存小。 

<persistenceAdapter> 

<replicatedLevelDB 

directory="${activemq.data}/leveldb" 

replicas="3" 

bind="tcp://0.0.0.0:62621" 

zkAddress="localhost:2181,localhost:2182,localhost:2183" 

hostname="localhost" 

zkPath="/activemq/leveldb-stores"/> 

</persistenceAdapter>

 

本文主要讲解基于 ZooKeeper 和LevelDB 搭建ActiveMQ 集群。集群仅提供主备方式的高可用集 群功能,避免单点故障,没有负载均衡功能。 

官方文档:http://activemq.apache.org/replicated-leveldb-store.html 

集群原理图:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值