zoukankan      html  css  js  c++  java
  • activemq5.14+zookeeper3.4.9实现高可用

    一、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的控制台,只有一台能访问,证明配置成功  

  • 相关阅读:
    excel导出字符串
    Unity shader学习之屏幕后期处理效果之Bloom效果
    Unity shader学习之屏幕后期处理效果之高斯模糊
    Unity shader学习之屏幕后期处理效果之均值模糊
    Unity之Vector3.SignedAngle实现
    Unity shader学习之屏幕后期处理效果之边缘检测
    Unity shader学习之屏幕后期效果之调整屏幕亮度,饱和度,对比度
    Unity shader学习之Grab Pass实现玻璃效果
    Unity shader学习之菲涅耳反射
    策略模式学习三---总结
  • 原文地址:https://www.cnblogs.com/hftian/p/9908745.html
Copyright © 2011-2022 走看看