前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zookeeper + LevelDB + ActiveMQ实现消息队列高可用

zookeeper + LevelDB + ActiveMQ实现消息队列高可用

作者头像
杉枫
发布2018-01-03 10:04:41
1.1K0
发布2018-01-03 10:04:41
举报

      通过集群实现消息队列高可用。

      消息队列在项目中存储订单、邮件通知、数据分发等重要信息,故对消息队列稳定可用性有高要求。

      现在通过zookeeper选取activemq leader的形式实现当某个activemq节点出问题时,保证系统的可用性。

zookeeper做为服务选取器来选择activemq作为master。

     开发环境将zoopkeeper zoo_sample.cfg拷贝并修改文件名称为zoo.cfg。

     activemq 配置禁用kahadb启用LevelDB 其中 zkAddress="127.0.0.1:2181" 为上边zoopkeeper 配置

  <!-- 不采用kahadb方式
  <persistenceAdapter>
  <kahaDB directory="${activemq.data}/kahadb"/>
  </persistenceAdapter>
  -->
  <persistenceAdapter> 
  <replicatedLevelDB 
  directory="${activemq.data}/leveldb" 
  replicas="3" 
  bind="tcp://0.0.0.0:0" 
 zkAddress="127.0.0.1:2181" 
  hostname="127.0.0.1" 
 sync="local_disk" 
 zkPath="/activemq/leveldb-stores" 
 /> 
		</persistenceAdapter>

如开发机器都在同一台机器可以修改下文端口来实现多个activemq在同一台电脑上启动

 <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://0.0.0.0:5673?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1884?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61615?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档