博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ--传输协议
阅读量:2442 次
发布时间:2019-05-10

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

传输协议

ActiveMQ支持的client-broker通讯协议有:

  • TCP
  • NIO
  • UDP
  • SSL
  • Http(s)
  • VM

其中配置Transport Connector的文件在activeMQ安装目录的conf/activemq.xml中的<transportConnectors>标签之内。

在这里插入图片描述

在这里插入图片描述

在上图给出的配置信息中:

URI描述信息的头部都是采用协议名称:例如

  • 描述amqp协议的监听端口时,采用的URI描述格式为"amqp://…";
  • 描述Stomp协议的监听端口时,采用的URI描述格式为"stomp://…";
  • 唯独在进行openwire协议描述时,URI头却采用的"tcp://…"。这是因为ActiveMQ中默认的消息协议就是openwire。

Transmission Control Protocol(TCP):

  1. 这是默认的Broker配置,TCP的Client监听端口61616

  2. 在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流。默认情况下ActiveMQ把wire protocol叫做OpenWire,它的目的是促使网络上的效率和数据快速交互。

  3. TCP连接的URI形式如:tcp://hostname:port?key=value&key=value,后面的参数可选。

  4. TCP传输的优点:

    • TCP协议传输可靠性高,稳定性强
    • 高效性:字节流方式传递,效率很高
    • 有效性、可用性:应用广泛,支持任何平台。
  5. 关于Transport协议的可配置参数可以参考官网:http://activemq.apache.org/configuring-version-5-transports.html

在这里插入图片描述

New I/O API Protocol(NIO)

  1. NIO协议和TCP协议类似但NIO更侧重于底层的访问操作。它允许开发人员对统一资源可有更多的client调用和服务端有更多的负载。

  2. 适合使用NIO协议的场景:

    • 可能有大量的Client去连接到Broker上,一般情况下,大量的Client去连接Broker是被操作系统的线程所限制的。因此,NIO的实现比TCP需要更少的线程去运行,所以建议使用NIO协议。
    • 可能对于Broker有一个很迟钝的网络传输,NIO比TCP提供更好的性能。
  3. NIO连接的URI形式:nio://hostname:port?key=value

  4. Transport Connector配置示例,参考官网http://activemq.apache.org/configuring-version-5-transports.html

在这里插入图片描述

AMQP协议:

即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开发标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。

在这里插入图片描述

stomp协议:

STOMP,Stream Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。

在这里插入图片描述

Secure Sockets Layer Protocol(SSL):

  1. 连接的URI形式:ssl://hostname:port?key=value
  2. Transport Connector配置示例

在这里插入图片描述

mqtt:

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。

在这里插入图片描述

ws:

在这里插入图片描述

总结:

在这里插入图片描述

转载地址:http://fbpqb.baihongyu.com/

你可能感兴趣的文章
vagrant虚拟机_与Vagrant Share在网络上共享您的虚拟机
查看>>
比较Bootstrap和Foundation CSS类的备忘单
查看>>
github桌面应用下载慢_使用AngularJS和GitHub Electron创建桌面应用程序
查看>>
Vagrant Push入门
查看>>
wordpress分页_WordPress瞬态指南
查看>>
浏览器保存文件api_使用HTML5文件API在浏览器中本地处理文件
查看>>
zurb是什么网站_ZURB的Foundation 5入门
查看>>
ajax方式提交 表单_提交AJAX表单:AngularJS方式
查看>>
grunt 入门_Grunt入门简单指南
查看>>
使用Bootstrap重新排序CSS列
查看>>
gulp jq项目脚手架_使用Gulp和Slush轻松进行项目脚手架
查看>>
angularjs 国际化_AngularJS应用程序的国际化
查看>>
wordpress 插件_如何构建WordPress插件(第1部分)
查看>>
firebase vue_使用Vue和Firebase,Pt 3构建Google Keep Clone
查看>>
nl-mean程序下载_将MEAN应用程序部署到Amazon EC2(第1部分)
查看>>
使用Node.js构建实时Markdown编辑器
查看>>
wordpress 插件_如何构建WordPress插件(第2部分)
查看>>
laravel调试项目_在Laravel中调试查询
查看>>
火狐打开页面按钮类插件_在Firefox中的“最后打开”选项卡上返回“关闭”按钮...
查看>>
ChromePlus – Chromium浏览器的增强版
查看>>