博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activemq5.14+zookeeper3.4.9实现高可用
阅读量:5290 次
发布时间:2019-06-14

本文共 1612 字,大约阅读时间需要 5 分钟。

一、activeMQ主要的几类部署方式比较

1、默认的单机部署(kahadb)
activeMQ的默认存储的单机方式,以本地kahadb文件的方式存储,所以性能指标完全依赖本地磁盘IO,不能提供高可用。
2、基于zookeeper的主从(levelDB Master/Slave)
5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息。
因为有实时同步数据的slave的存在,master不用担心数据丢失,所以leveldb会优先采用内存存储消息,异步同步到磁盘。所以该方式的activeMQ读写性能都最好,特别是写性能能够媲美非持久化消息。
优点:
实现高可用和数据安全
性能较好
缺点:
因为选举机制要超过半数,所以最少需要3台节点,才能实现高可用。
3、基于共享数据库的主从(Shared JDBC Master/Slave)
可以基于postgres、mysql、oracle等常用数据库。
每个节点启动都会争抢数据库锁,从而保证master的唯一性,其他节点作为备份,一直等待数据库锁的释放。
因为所有消息读写,其实都是数据库操作,activeMQ节点本身压力很小,性能完全取决于数据库性能。
优点:
实现高可用和数据安全
简单灵活,2台节点就可以实现高可用
缺点:
稳定性依赖数据库
性能依赖数据库

二,activemq高可以用搭建

1搭建zookeeper集群,可以参考(http://www.cnblogs.com/ystq/p/6617596.html)

2下载activemq,5.14.0下载地址(http://activemq.apache.org/activemq-5140-release.html)

3上传到三个服务器,192.168.199.71,192.168.199.72,192.168.199.73,并解压

4修改conf/activemq.xml文件,约40行左右,把brokerName修改成统一的一个名称

1
<broker xmlns=
"http://activemq.apache.org/schema/core" 
brokerName=
"job-broker" 
dataDirectory=
"${activemq.data}"
>

5修改conf/activemq.xml文件,找到persistenceAdapter,把旧的kahaDB注释掉,并加入新levelDB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--
<persistenceAdapter>
    
<kahaDB directory=
"${activemq.data}/kahadb"
/>
</persistenceAdapter>
-->
<persistenceAdapter>
    
<replicatedLevelDB
      
directory=
"${activemq.data}/leveldb"
      
replicas=
"3"
      
bind=
"tcp://0.0.0.0:0"
      
zkAddress=
"192.168.199.71:2181,192.168.199.71:2181,192.168.199.71:2181"
      
hostname=
"192.168.199.71"
      
sync=
"local_disk"
      
zkPath=
"/activemq/leveldb-stores"
      
/>
</persistenceAdapter>

6另外两台服务器分别重复上一步,只是hostname修改为自己的ip

7分别启动三台服务器的mq

8分别访问三个服务器的mq的控制台,只有一台能访问,证明配置成功  

转载于:https://www.cnblogs.com/hftian/p/9908745.html

你可能感兴趣的文章
WUST 设计模式 实验一 单例模式的应用
查看>>
Web service(一)
查看>>
Github为什么没有记录你的Contributions
查看>>
<php>Ajax基本格式
查看>>
mybatis中的多条件查询
查看>>
C# WebBrowser 抓图获取网页验证码
查看>>
Linux 终端输入保存到一个文件中
查看>>
未加载opencv_world330.pdb
查看>>
Java排序算法(三):直接插入排序
查看>>
iOS 开发百问(5)
查看>>
删除单链表中某一个值
查看>>
第五周学习进度
查看>>
事务的应用
查看>>
Excel Vlookup多条件查询 , 列转行
查看>>
浅谈JS继承
查看>>
2018-2019-2 20175224 实验一《Java开发环境的熟悉》实验报告
查看>>
元素的offsetParent offsetLeft offsetTop属性
查看>>
NOI2015
查看>>
生成器表达式
查看>>
第三天运算符--三元操作符
查看>>