当前位置: 首页 > article >正文

ActiveMQ 的传输协议机制

ActiveMQ 通过网络连接器这种连接机制来实现客户端与服务端之间的通信,ActiveMQ支持的传输协议在activeMQ 安装目录的 conf/activemq.xml中的<transportConnectors>标签之内。

eba928f2bfc3c802ddabe38de1f3c1bc.png

ActiveMQ 支持的 client 端和 broker 端的通讯协议有:TCP、NIO、UDP、SSL、Http(s)、VM。

1、TCP 协议

TCP 协议是 ActiveMQ 默认的 Broker 配置,TCP 的 Client 监听端口 61616,连接的URI格式为

tcp://hostname:port?key=value&key=value
问号后面的参数是可选的

使用该协议,在网络传输数据前,必须要实现序列化,消息是通过一个叫 wire protocol 的来序列化成字节流。默认情况下,ActiveMQ 把wire protocol 叫做OpenWire。

activemq.xml 中的配置示例:

<transportConnector name="openwire"  uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600" />

TCP传输的优点:

  1. TCP协议传输可靠性高,稳定性强

  2. 字节流方式传递,效率很高

  3. 应用广泛,支持任何平台

2、NIO 协议

NIO 协议和 TCP 协议类似,但 NIO 更侧重于底层的访问操作,它允许开发人员对同一资源可有更多的 client 调用和服务端有更多的负载,NIO 的性能比 TCP 更好,因此建议使用 NIO 协议。NIO 连接的 URI 格式为:

nio://hostname:port?key=value&key=value
问号后面的参数是可选的

适合使用NIO协议的场景:

  1. 可能有大量的Client去链接到Broker上一般情况下,大量的Client去链接Broker是被操作系统的线程数所限制的。因此, NIO的实现比TCP需要更少的线程去运行,所以建议使用NIO协议

  2. 可能对于Broker有一个很迟钝的网络传输NIO比TCP提供更好的性能

activemq.xml 中的配置示例,定义一个 NIO 协议监听 61618 端口

<transportConnector name="nio"  uri="nio://0.0.0.0:61618?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600" />

其他的协议项目中一般不用,这里就不做介绍了。


http://www.kler.cn/a/319007.html

相关文章:

  • Gsensor加速度传感器数据异常及概率性卡死
  • C#程序开发,检测当前电脑已经安装的软件目录
  • 文件上传漏洞--理论
  • Rust:GUI 开源框架
  • Linux——gcc编译过程详解与ACM时间和进度条的制作
  • 数据分析那些事儿——时间片轮转实验
  • 如何确定SAP 某些凭证或者单号的号码编码范围的 OBJECT 是什么?
  • 无人机飞手培训校企合作特训技术详解
  • 国产操作系统
  • Linux风险应对策略:保障系统安全的有效措施
  • 828华为云征文 | 云服务器Flexus X实例,Docker集成搭建 Grafana开源数据可视化平台
  • Ubuntu24.04下编译OpenCV + OpenCV Contrib 4.10.0
  • CycleGAN-VC模型及代码实现
  • Git(5):分支合并merge和rebase
  • Linux突发网络故障常用排查的命令
  • andriod studio 学习1
  • python中网络爬虫框架
  • 【垃圾识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目选题+TensorFlow+图像识别
  • Java Web应用升级故障案例解析
  • 云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写
  • 使用 UWA Gears 测试小游戏性能
  • Python GUI 编程:tkinter 初学者入门指南——标签
  • # 利刃出鞘_Tomcat 核心原理解析(十一)-- Tomcat 附加功能 WebSocket -- 3
  • Elasticsearch 应用实战:从基础到高级实践
  • 网口环保212设备数据 转 profinet IO项目案例
  • 利用人工智能改变视频智能