博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ-inAction-Transport-学习笔记
阅读量:6185 次
发布时间:2019-06-21

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

hot3.png

ActiveMQ 目前支持的transport 有:

  • VM Transport、TCP Transport、SSLTransport、Peer Transport、
  • UDP Transport、Multicast Transport、HTTP andHTTPS Transport、
  • Failover Transport、Fanout Transport、DiscoveryTransport、ZeroConf Transport 等。

以下简单介绍其中的几种,更多请参考Apache 官方文档。

  • VM Transport
    • VM transport 允许在VM 内部通信,
      • 从而避免了网络传输的开销。
    • 这时候采用的连接不是socket 连接,
      • 而是直接地方法调用。
  • TCP Transport
    • TCP transport 允许客户端通过TCP socket 连接到远程的broker。
  • Failover Transport
    • Failover Transport 是一种重新连接的机制,
      • 它工作于其它transport 的上层,
      • 用于建立可靠的传输。
    • 它的配置语法允许制定任意多个复合的URI。
    • Failover transport 会自动选择其中的一个URI 来尝试建立连接。
    • 如果没有成功,那么会选择一个其它的URI 来建立一个新的连接。
  • Discovery transport
    • Discovery transport 是可靠的tranport。
    • 它使用Discovery transport 来定位用来连接的URI 列表

在使用Failover Transport 或Discovery transport 等能够自动重连的transport 的时候,

  • 需要注意的是:
    • 设想有两个broker,
      • 它们都启用AMQ MessageStore 作为持久化存储,
      • 有一个producer 和一个consumer 连接到某个queue。
    • 当因其中一个broker 失效时而切换到另一个 broker 的时候,
      • 如果失效的broker的queue 中还有未被consumer 消费的消息,
        • 那么这个queue 里的消息仍然滞留在失效broker 的中,
        • 直到失效的broker 被修复并重新切换回这个被修复的broker 后,
        • 之前被保留的消息才会被consumer 消费掉。
      • 如果被处理的消息有时序限制,
        • 那么应用程序就需要处理这个问题。
      • 另外也可以通过ActiveMQ 集群来解决这个问题。

转载于:https://my.oschina.net/u/3847203/blog/2992420

你可能感兴趣的文章
从NDK在非Root手机上的调试原理探讨Android的安全机制
查看>>
linux系统编程:命名管道FIFO和mkfifo函数
查看>>
Linux sshd 配置解释
查看>>
标签云效果
查看>>
Mysql的二进制日志binlog的模式说明
查看>>
Java学习资料-Java常用算法-希尔排序算法
查看>>
starling 笔记
查看>>
YAF 加入smarty3之后文件加载的解决
查看>>
Android集成Tbs 替代原生webView
查看>>
H5 图片尺寸限制
查看>>
Laravel4.1数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构(五)...
查看>>
mysql单表取交集
查看>>
PhoneGap/Cordova插件开发入门(Android版)(一)
查看>>
js鼠标禁止右键、复制粘贴代码
查看>>
剖析同步器
查看>>
ubuntu升级出错
查看>>
GCD(一次性代码、栅栏函数、延迟执行、定时器)
查看>>
SVN系列(二)——SVN服务器端和客户端搭建
查看>>
共享变量 Accumulator 实例
查看>>
HashMap详解
查看>>