activemq的问题,谢谢

最近在搞一个消息中转的系统,2个activemq组一个集群,2个mysql数据库组一个热备份,主要做一些消息格式转化的工作,外接了9个系统.
activemq集群机器a,b 数据库c,d
我把外接的系统全挂到a上,虽然集群内部可以load balance,但是我所有的生产消费消息都通过tcp连到a上运行,那集群的load balance到底有没有为这个系统减轻压力呢?还有2个activemq收到消息后,都马上存到数据库c上,然后热备份到d.但是在a,b存c的过程中,会发生一个主键冲突的异常.怎么解决
还有就是对集群,热备份,不是很明白,比如我的外接系统全连的a,如果a瘫痪了,怎么把消息传给b啊,要是传不了,这个集群不是也没什么作用?还有数据库的热备份,全都是连的c,如果c挂掉了,怎么自动跑去连d啊.听人说好象是用心条,启动一个后备进程,但是c机器完全挂掉,那不是也没什么用么?
高手们帮帮忙啊~~~

还有2个activemq组的集群,把a或者b手动关掉,另一台机器会报个异常,然后再起来,会自动互相连长组成集群,但是发的消息有问题,好象有一条链路不正常,请问该怎么配置
<broker useJmx="true" xmlns="http://activemq.org/config/1.0">

<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="../activemq-data" dataSource="mysql-ds" useDatabaseLock="false"/>
</persistenceAdapter>

<transportConnectors>
<transportConnector uri="tcp://200.200.1.249:61616"/>
</transportConnectors>

<networkConnectors>
<networkConnector uri="static:(tcp://200.200.1.249:61616,tcp://200.200.1.11:61616)" failover="true"/>
</networkConnectors>
</broker>

两边都是这么配的 就是networkConnector的ip位置换一换

刚看到你的帖子,最近在学习activemq。
能否指导一下集群现在你们是怎么做的。
你的配置情况能否发给我看看。非常感谢!
我的邮箱,yanhuodig@sina.com