进入ActiveMQ的管理界面,点击Connections标签,可以看到几种连接方式,和activemq.xml里的一一对应。
TCP(Transmission Control Protocol):
- 这是Broker默认的配置,TCP的Client监听端口是61616。
- 在网络传输数据前,必须进行序列化数据,消息通过一个叫wire protocol的协议序列化成字节流。
- TCP连接的URI形式如:tcp://hostname:port?key=value,后面的参数是可选的 。
- TCP传输的优点:
- TCP协议传输可靠,稳定性强。
- 高效性:字节流方式传递,效率很高。
- 有效性、可用性:应用广泛,支持任何平台。
- 关于Transport协议的配置参数,参见官网:http://activemq.apache.org/tcp-transport-reference
NIO(New I/O Protocol):
- NIO协议和TCP协议类似,但是NIO更侧重于底层访问操作。它允许开发人员对同一资源可以有更多的Client调用和服务端有更多的负载。
- 适合使用NIO协议的场景:
- 可能有大量的Client连接到Broker上,一般情况下,大量Client连接Broker是被操作系统的线程所限制的。因此,NIO的实现比TCP需要更少的线程运行,所以建议使用NIO协议。
- 可能对于Broker有一个很迟钝的网络传输,NIO比TCP提供更好的性能。
- NIO连接的URI形式:nio://hostname:port?key=value。
- Transport Connector配置示例,参考官网:http://activemq.apache.org/nio-transport-reference
上面的TCP和NIO需要掌握,下面的只需要了解即可,实际工作中用的不多,而且编码方式上会有不同。
AMQP(Advanced Message Queuing Protocol):
一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件限制。
具体配置见官网:http://activemq.apache.org/amqp
STOMP(Streaming Text Orientated Message Protocol):
流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息中间件)设计的简单文本协议。
具体配置见官网:http://activemq.apache.org/stomp
SSL(Secure Sockets Protocol):
- 连接的URL形式:ssl://hostname:port?key=value。
- 具体配置见官网:http://activemq.apache.org/ssl-transport-reference
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,也可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。
具体配置见官网:http://activemq.apache.org/mqtt