zoukankan      html  css  js  c++  java
  • 分布式ActiveMQ集群

    分布式ActiveMQ集群的部署配置细节:

      官方资料:http://activemq.apache.org/clustering.html

      基本上看这个就足够了,本文就不具体分析配置文件了。

    1Queue consumer clusters

      同一个queue,如果一个consumer失效,那么未被确认的消息都会被发送到这个queue的其它consumer上。如果某个consumer处理消息比较快,那么它将处理更多的消息。

      Queue consumer clusters 不需要特殊的配置。

    2Master-Slave高可用性:

      主要目的是实现AMQ的高可用性和容错,如果某broker挂了,需要等待它重启才能继续处理消息。而如果消息被复制到slave上,在当master挂了时,可以直接切换到slave导致消息不会丢失。分为3种形式:

      (1) pure master-slave

        该方式已经逐渐被淘汰:http://activemq.apache.org/pure-master-slave.html

      (2) Shared File System Master Slave

        官方资料:http://activemq.apache.org/masterslave.html

        利用共享文件系统:当多台机器上都部署了AMQ时,指定这些机器的一个共享的文件路径作为存储。

        存储默认是基于AMQkahaDB(底层是文件系统)实现。

        当一个AMQ实例获得了共享文件的锁,这个实例就成为了Master,其它实例即为Slave。如果这时Master挂了,其它AMQ实例会竞争共享文件的锁,获得锁的就成为Master,其它实例还是Slave。部署时Slave没有限制数,而且自动切换Master不需要人工干预。(官方资料有详细的过程图片介绍)

      (3) JDBC Master Slave

        官方资料:http://activemq.apache.org/masterslave.html

        其实与Shared File System一样,只是把共享文件系统换成数据库作为存储。方便实用,但要保证数据库的高可用性。

    3Broker Cluster中的静态与动态发现:

      如何让一个broker知道网络上的其它多个broker呢?主要分为静态发现和动态发现两种类型:

      (1) The Static Transport(静态发现,包括failover协议)

        官网资料:http://activemq.apache.org/static-transport-reference.html

        所谓静态发现:就是将所有已知的broker uri连接时手工进行配置,对clienturi地址做相应修改。

        关于failover:当一个client连接到某个broker,而这个broker挂了,客户端就需要自动连接到网络上其它已知的broker上。

        AMQ使用failover协议实现该功能,但需要在client连接时将所有broker以硬编码的形式进行配置。

        failover协议官方资料:http://activemq.apache.org/failover-transport-reference.html

      (2) The Discovery Transport(动态发现)

        官网资料:http://activemq.apache.org/static-transport-reference.html

        所谓动态发现,就是部署前不需要知道所有AMQ实例的uri地址,只要进行相关配置,启动后让AMQ自己检测。

        需要修改AMQ配置文件,同时client端连接uri地址也要相应修改。

    4Network of Broker

      主要目的是实现负载均衡,提高消息处理能力。

      一个client1连接broker1发送消息,另一个client2连接broker2消费消息,这时就需要将broker1上的消息路由到broker2上。而当broker2上的consumer挂了,也需要将消息转发到其它的有consumerbroker上,避免消息大量堆积无法处理,目前的解决方案是Network of Broker

      官方资料:http://activemq.apache.org/networks-of-brokers.html

      本文主要对ActiveMQ分布式集群相关知识进行整理总结,具体配置过程见上文中的官方资料,很详细的。 

      网上一些不错的参考资料:

        http://www.doc88.com/p-086413647667.html

        http://wenku.baidu.com/view/d0cd7757ad02de80d4d8408a.html

        http://bh-keven.iteye.com/blog/1617788

  • 相关阅读:
    博弈最高位POJ 1704(Georgia and BobNim博弈)
    图片优化ios学习之真机测试 copy图片错误解决方案
    输入左移校草计划(Nim)
    类型函数C语言void关键字
    图层设置GDAL/OGR创建DXF文件中多图层的方法
    浏览器下载Firefox os 模拟器安装教程步骤详解
    工程图标ios学习之给程序设置logo
    实例收藏Android开发环境搭建和Android开发基础知识汇总值得收藏
    乱码插入mac mysql汉字乱码问题解决
    菜菜从零学习WCF一(WCF概述)
  • 原文地址:https://www.cnblogs.com/chy2055/p/5178350.html
Copyright © 2011-2022 走看看