• ActiveMQ学习笔记(10)----ActiveMQ容错的连接


    1. Failover Protocol

      前面讲述的都是Client配置连接到指定的broker上,但是,如果Broker的连接失败怎么办呢?此时,Client有两个选项:要么立刻死掉,要么连接到其他的Broker上。

    2. Failover Protocol的配置方式

      默认的情况下,这种协议用于随机的去选择一个链接去连接,如果连接失败了,那么会连接到其他的Broker上。默认配置定义了延迟重新连接,意味着传输将会在10s后自动去重新连接可用的broker.当然所以有的重新连接参数都可以根据应用的需要而配置的。

    3. Failover Protocol 使用示例  

      在客户端程序中创建ConnectionFactory时使用:

    //随机连接不同的broker
    ConnectionFactory factory = new ActiveMQConnectionFacory("failover:(tcp:127.0.0.1:61616,tcp:127.0.0.1:61716)?randomize=true")

    4. Failover Protocol 可用的配置参数

      1. initialReconnectDelay: 在第一次尝试重新连接之前等待的时间长度(毫秒),默认10

      2. maxReconnectDelay: 最长重连时间间隔(毫秒),默认30000

      3. useExponentialBackOff: 重连时间间隔是否以指数形式增长,默认true

      4. backOffMultiplier:递增倍数:默认2.0

      5. maxReconnectAttempts: 默认1|0,自5.6版本开始,-1为默认值,代表不限重试次数,0标识从不重试(只尝试连接一次,并不重连),5.6以前的版本,0为默认值,代表不重试,如果设置大于0的数,则代表最大重试次数。

      6. startupMaxReconnectAttempts: 初始化时的最大重试次数,一旦连接上,将使用maxReconnectAttempts的配置,默认0

      7. randomize: 使用随机连接,以达到负载均衡的目的,默认true

      8. backup: 提前初始化一个未使用的链接,以便进行快速的失败转移,默认false.

      10. trackMessages: 设置是否缓存(故障发生时)尚未传送完成的消息,当broker一旦重新连接成功,便将这些缓存中的消息刷新到新连接的代理中,使得消息可以在broker切换前后顺利传送。默认false

      11. maxCacheSize: 当trackMessage启动时,缓存的最大子接,默认为127*1024bytes

      12. updateURISupported:设定是否可以动态修改broker uri(自5.4版本开始),默认true.

  • 相关阅读:
    什么是Spring Cloud Stream?
    线程池的好处:
    能用HTML/CSS解决的问题就不要使用JS
    功能--web端测试
    Redis 主从复制
    Redis 发布订阅
    Redis 事务
    Redis 持久化
    Redis 安装
    Mybatis Plus 多租户
  • 原文地址:https://www.cnblogs.com/Eternally-dream/p/9890659.html
Copyright © 2020-2023  润新知