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
一、这是默认的broker配置,TCP的Client监听的端口为61616操作系统
二、在网络传输协议以前,必需要序列化数据,消息是经过一个叫wire protocol的来序列化成字节流,线程
默认状况下 ActiveMQ默认把wire protocol叫作openwire,目的是促使网络上的效率和数据进行快速交互设计
三、TCP链接的url形式以下:“tcp://hostname:port?key=value&key=value”后面的参数是可选的
四、TCP传输的优势:
4.一、TCP协议可靠性高,稳定性强
4.二、高效性:字节流方式传输,效率很高
4.三、有效性、可用性:应用普遍,支持任何平台
一、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"/>
amqp协议是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层的协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不一样产品,不一样开发语言等条件限制。
流文本定向协议 ,是一种为MOM(Message Oriented Middleware ),面向消息中间件设计的的简单文本协议
是IBM开发的即时通信协议,有可能成为物联网的重要组成部分,该协议支持全部的平台,几乎能够把全部的联网物品和外部链接起来,被用来当作传感器和致动器(好比经过Twitter让房屋联网)的通信协议