集群:就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
acivemq集群的配置:
broker cluster:此种配置是一个消费者或者生产者连接到多个broker集群的中的一个broker,当该broker出问题时,消费者自动连接到其他一个正常的broker。消费者使用 failover:// 协议来连接broker。 此方法可能造成数据丢失,负载均衡(多个消费者同时消费) 处在挂起的消息丢失。
master-slave
Share File System Master Slave模式
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker1" dataDirectory="F:/kahadb">配置共享文件目录和broker的名称
<persistenceAdapter>
<kahaDB directory="F:/kahadb" enableIndexWriteAsync="true" enableJournalDiskSyncs="false"/>配置kahaDB格式的文件路径
</persistenceAdapter>
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>服务器地址
</transportConnectors>
发送和接受的客户端连接
new ActiveMQConnectionFactory("failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0,tcp://127.0.0.1:61617?wireFormat.maxInactivityDuration=0,tcp://127.0.0.1:61618?wireFormat.maxInactivityDuration=0)");
如果部署在不同的机器上则使用分布式文件系统具体参见:http://harbey.iteye.com/blog/1756607