08activeMQ支持的传输协议

08activeMQ支持的传输协议_第1张图片

activeMQ支持的client-broker通讯协议有:TCP``UDP``NIO``SSL``HTTP(S)``VM。其中配置Transport Connector的文件在activeMQ安装目录的conf/activemq.xml中。

Transmission Control Protocol(TCP)

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

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

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

  4. TCP传输的优点

    • TCP协议传输可靠性高,稳定性强
    • 高效性:字节流方式传输、效率高
    • 有效性、可用性:应用广泛,支持任何平台

配置示例:


New I/O API Protocol(NIO)

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

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

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

配置示例:


User Datagram Protocol(UDP)

  1. UDPTCP的区别

    • TCP是一个原始流的传递协议,意味着数据包是有保障的,换句话说数据包是不会被复制和丢失的。UDP它是不保障数据包的传递的
  2. TCP是被用在稳定可靠的场景中使用的,UDP通常用在快速数据传递和不怕数据丢失的场景中

  3. UDP连接的URI形式udp://hostname:port?key=value

配置示例:


Secure Sockets Layer Protocol(SSL)

  1. 连接的URI的形式 ssl://hostname:port?key=value

配置示例:

 

HyperText Transfer Protocol(HTTP/HTTPS)

  1. webemail等服务需要通过防火墙来访问,HTTP可以使用这种场合
  2. 连接的URI形式 http://hostname:port?key=value

配置示例:


VM Protocol(VM)

  1. VM transport允许在VM内部通信,从而避免了网络传输的开销。这时候采用的连接不是socket连接,而是直接的方法连接。
  2. 第一个创建VM连接的客户会启动一个embed VM broker,接下来所有使用相同的broker nameVM连接都会使用这个broker,当这个broker上所有的连接都关闭的时候,这个broker也会自动关闭。
  3. 连接的形式vm//brokerName?key=value

08activeMQ支持的传输协议_第2张图片

你可能感兴趣的:(08activeMQ支持的传输协议)