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

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

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

      现在通过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>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

nginx应用总结(1)--基础认识和应用配置

在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结。 一、nginx服务简介 Ng...

3936
来自专栏程序员互动联盟

【专业技术】arm中的7种执行模式

嵌入式设备已经越来越与我们的日常生活密切相关了,由此带来了ARM的高速发展。就拿我们的手机来说吧,几乎所有的手机都是ARM体系的。这里大致介绍下ARM 的7种执...

3739
来自专栏架构师之路

主从DB与cache一致性

本文主要讨论这么几个问题: (1)数据库主从延时为何会导致缓存数据不一致 (2)优化思路与方案 一、需求缘起 上一篇《缓存架构设计细节二三事》中有一个小优化点,...

51012
来自专栏贺贺的前端工程师之路

Angular2 之 时间的教训 & 错误

下面开始,时间的教训的记录,如果同样的错误我犯过不是第一次,那么我也会记录下来,我到时要看看,自己是不是会在同一个地方摔倒N次?

704
来自专栏岑玉海

oozie 安装过程详解

1.从apache的官网下载oozie3.3.2 2.编译oozie,以下命令用root来执行吧,它不做任何的测试的,因为一测试就会出错的 官网...

3704
来自专栏姚姝娜的专栏

关于 Git 的那些事

本篇文章主要讲了下 Git 的一些基本的概念以及如果使用 git log 的命令来进行一段时间段的代码量统计,其中还可以统计不同作者修改的代码量,其中关于 gi...

4451
来自专栏沈唁志

百度站长链接提交的js代码推送进化版

3576
来自专栏乐沙弥的世界

Percona XtraDB Cluster集群线程模型

Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:

750
来自专栏TARS GO

TarsGo新版本发布,支持protobuf,zipkin和自定义插件

Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架,目前支持C++、Java、PHP、Nodejs、Golang语言。该框架为用户提供了涉及到...

2266
来自专栏Laoqi's Linux运维专列

Nginx+Tomcat实现Web服务器的负载均衡

4676

扫码关注云+社区