ActiveMQ学习之通信协议

1、支持的通信协议

            ActiveMQ支持的client-broker通信协议有:TCP、NIO、UDP、SSL、HTTP(S)、VM网络

            其中配置Transport  Connector的文件在ActiveMQ安装目录的conf/activemq.xml中的<TransportConnectors>标签内tcp

            上图中给出的配置信息中性能

            url描述信息的头部都是采用协议名称:例如上图给出的ui

            描述amqp协议的监听端口时,采用的url描述格式为“amqp://........”网络传输协议

            描述stomp协议的监听端口时,采用的url描述格式为“stomp://........”url

            惟独在进行openwire协议进行描述时,url头部采用的是"tcp://........"这是由于activeMQ中默认的消息协议就是openwirespa

2、Transmission  Control Protocol(TCP)

            一、这是默认的broker配置,TCP的Client监听的端口为61616操作系统

            二、在网络传输协议以前,必需要序列化数据,消息是经过一个叫wire protocol的来序列化成字节流,线程

                  默认状况下 ActiveMQ默认把wire protocol叫作openwire,目的是促使网络上的效率和数据进行快速交互设计

            三、TCP链接的url形式以下:“tcp://hostname:port?key=value&key=value”后面的参数是可选的

            四、TCP传输的优势:

                  4.一、TCP协议可靠性高,稳定性强

                  4.二、高效性:字节流方式传输,效率很高

                  4.三、有效性、可用性:应用普遍,支持任何平台

3、NEW I/O API Protocol(NIO)

            一、NIO协议和TCP协议相似可是NIO更侧重于底层访问操做。它容许开发人员对统一资源可有更多的client调用和服务端有更多的负载

            二、适合NIO的应用场景:

                2.一、可能有大量的Client去链接到Broker上,通常状况下,大量的client去链接Broker是被操做系统的线程所限制。所以,NIO的实现

                        比TCP须要更少的线程去运行,因此建议使用NIO协议

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

            三、NIO链接URI形式“nio://hostname:port?key=value&key=value”

            四、配置方式

                将下面这个配置到ActiveMQ安装目录的conf/activemq.xml中的<TransportConnectors>标签内                

<transportConnector name="openwire" uri="nio://0.0.0.0:61618?trace=true"/>

4、Advanced Message Queuing Protocol(amqp协议)

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

5、Streaming Text Orientated  Message Protocol(stomp协议)

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

6、Message Queuing  Telemetry Transport(MQTT协议)

            是IBM开发的即时通信协议,有可能成为物联网的重要组成部分,该协议支持全部的平台,几乎能够把全部的联网物品和外部链接起来,被用来当作传感器和致动器(好比经过Twitter让房屋联网)的通信协议

相关文章
相关标签/搜索