高可用的ActiveMQ Server建设

简介

版本选择

    ActiveMQ 5.9.0

方案选型

    目前ActiveMQ支持两种方式配置主/备机:

  • 无共享主/备机配置;(5.8.0版本此方案已被遗弃)
    这种配置中,每个ActiveMQ代理拥有独立的消息存储;  备机需要连接到主代理,且需要额外的配置用来报告其当前的状态,而主消息代理不需要这种额外的配置。所有消息指令(消息,确认,订阅,日志等)都会从主机拷贝到备机上。当一个消息生产者发送持久化消息给主机后,消息生产者需要等待主机的回执然后才能发送下一条消息.主机在将消息拷贝到备机上并且等待备机依次处理完消息(这种处理通常是备机将消息存储已进行持久化).备机处理完后,主机便开始处理消息(存储以便持久化消息,然后分发消息给所有对消息感兴趣的消费者),主机成功消息完处理后才会发送回执给消息生产者。

    优点:配置简单

    缺点:

            1. 主机只会把备机连接到主机之后的主机状态复制到备机上;
            2. 一个主机只能拥有一个备机,并且备机不能在配置自己的备机;
            3. 主机失效后,需要人为干预,因为原来主机失效后为新主机配置新备机是明智的;


  • 存储共享主/备机配置;这种配置中,每个ActiveMQ代理可以连接到共享的消息存储(关系数据库系统或者共享文件系统),但是同一时间只有一个代理是活动的; 
    支持的存储共享主/备机的方式主要有:数据库共享、文件共享;如果你正在使用一个企业级的关系数据库,那么共享数据库的主备机配置是一个理想的配置.尽管这种配置被使用无共享备主/机主配置要稍微慢一点,但这种配置无需额外配置,并且对备机的数量没有限制。如果没有企业级的数据库,或者性能是主要的考虑因素,你可以使用共享文件系统主/备机配置。

    优点:

            1. 备机数量不受限制;
            2. 主机失效后不用人为干预;
            3. 主备机使用同一份数据文件;

    缺点:
            1. 环境依赖性强,使用成本相对较高;(无论是采用企业级的数据库环境、还是采用专业的文件存储)
            2. 配置相对复杂

    基于上面的分析对比,基于文件系统的“存储共享主/备机”方案胜出;但在activeMQ在5.9版本中,文件存储方案有KahaDB以及LevelDB,而且LevelDB还支持ZooKeeper的分布式文件管理系统;在经过一系列的测试之后,我们最终选择了KahaDB的存储方式。理由是:KahaDB方案成熟,测试性能比ZooKeeper+LevelDB稳定,而ZooKeeper+LevelDB属于5.9引入的新特性,需要市场进一步沉淀;

最终方案敲定为:基于KahaDB的NFS文件共享主备;下文也都是基于此方案进行描写;

资源信息

    硬件信息:

    存储磁盘信息:NFSV3网络磁盘
    内存大小:8G

    软件信息:
    jdk:jdk1.7.0_51
    mq版本:5.9.0

    共享主备组A:  192.168.65.171、192.168.65.172
    共享主备组B:192.168.65.173、192.168.65.174  
    主备组A与B形成一个集群;
     注:主备组B当前尚未建设,后期根据业务量规模再逐步建设。

安装

下载安装包

    通过官网(http://activemq.apache.org/activemq-590-release.html)下载最新的安装包。

    将安装包解压到某一个目录,解压之后的目录目录结构如下:

     

    部分重要目录说明:

        bin:activemq执行文件目录;

        conf:配置文件activemq.xml,log配置文件log4j.properties,安全keystore文件,密码文件credentials.properties等

        data:缺省数据存储目录,缺省的日志文件路径,可在activemq.xml中配置

        example:一些demo,包括activemq.xml配置文件demo

        webapps:界面管理程序界面


配置

配置${activemq_home}/conf/activemq.xml

    activemq.xml是每一个broker的核心配置文件,主从模式,集群配置,queue,topic等等相关配置均在此配置文件中配置实现,activemq.xml文件位置:${activemq_home}/conf;

    配置Broker

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="xxxx" dataDirectory="${activemq.data}" useJmx="true" schedulerSupport="false" splitSystemUsageForProducersConsumers="true">
 
</broker>

 部分重要配置:

配置项

默认值

推荐值

说明

brokerName

localhsot

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值