activeMQ-传输协议
2016-05-23 23:24
267 查看
ActiveMQ支持的client-broker:
在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流。目的是促使网络上的效率和数据快速交互。
TCP连接的URI形式:tcp://hostname:port?key=value&key=value,加粗部分是必须的
TCP协议传输可靠性高,稳定性强,支持任何平台
适合使用NIO协议的场景:
(1) 可能有大量的Client去链接到Broker上
一般情况下,大量的Client去链接Broker是被操作系统的线程数所限制的。因此, NIO的实现比TCP需要更少的线程去运行,所以建议使用NIO协议
(2)可能对于Broker有一个很迟钝的网络传输 NIO比TCP提供更好的性能
NIO连接的URI形式:nio://hostname:port?key=value
Transport Connector配置示例:
TCP是被用在稳定可靠的场景中使用的;UDP通常用在快速数据传递和不怕数据丢失的场景中,还有ActiveMQ通过防火墙时,只能用UDP
UDP连接的URI形式:udp://hostname:port?key=value
Transport Connector配置示例:
第一个创建VM连接的客户会启动一个embed VM broker,接下来所有使用相同的broker name的VM连接都会使用这个broker。当这个broker上所有的连接都关闭的时候,这个broker也会自动关闭。
连接的URI形式:vm://brokerName?key=value
Transmission Control Protocol (TCP)
这是默认的Broker配置,TCP的Client监听端口是61616。在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流。目的是促使网络上的效率和数据快速交互。
TCP连接的URI形式:tcp://hostname:port?key=value&key=value,加粗部分是必须的
TCP协议传输可靠性高,稳定性强,支持任何平台
New I/O API Protocol
NIO协议和TCP协议类似,但NIO更侧重于底层的访问操作。它允许开发人员对同一资源可有更多的client调用和服务端有更多的负载。适合使用NIO协议的场景:
(1) 可能有大量的Client去链接到Broker上
一般情况下,大量的Client去链接Broker是被操作系统的线程数所限制的。因此, NIO的实现比TCP需要更少的线程去运行,所以建议使用NIO协议
(2)可能对于Broker有一个很迟钝的网络传输 NIO比TCP提供更好的性能
NIO连接的URI形式:nio://hostname:port?key=value
Transport Connector配置示例:
<transportConnectors> <transportConnector name="tcp" uri="tcp://localhost:61616?trace=true" /> <transportConnector name="nio" uri="nio://localhost:61618?trace=true" /> </transportConnectors>
User Datagram Protocol(UDP)
UDP仅仅是一个链接协议,所以它没有可靠性之说TCP是被用在稳定可靠的场景中使用的;UDP通常用在快速数据传递和不怕数据丢失的场景中,还有ActiveMQ通过防火墙时,只能用UDP
UDP连接的URI形式:udp://hostname:port?key=value
<transportConnectors> <transportConnector name="udp" uri="udp://localhost:61618?trace=true" /> </transportConnectors>
Secure Sockets Layer Protocol (SSL)
连接的URI形式:ssl://hostname:port?key=valueTransport Connector配置示例:
<transportConnectors> <transportConnector name="ssl" uri="ssl://localhost:61617?trace=true"/> </transportConnectors>
VM Protocol(VM)
VM transport允许在VM内部通信,从而避免了网络传输的开销。这时候采用的连接不是socket连接,而是直接的方法调用。第一个创建VM连接的客户会启动一个embed VM broker,接下来所有使用相同的broker name的VM连接都会使用这个broker。当这个broker上所有的连接都关闭的时候,这个broker也会自动关闭。
连接的URI形式:vm://brokerName?key=value
相关文章推荐
- ubuntu下开发安卓应用,启动eclipse adb 报错 adb version' failed
- 闲谈
- 关于浏览器和网络的20项须知
- Mysql 5.7.12 配置
- 虚拟机类加载机制
- jquery获取浏览器和屏幕的高度和宽度
- 采用建造者模式自定义对话框
- 经典:传统相机标定方法解析:直接线性法和Tsai两步标定法
- NEFU115 斐波那契的整除(数论水题)
- Android_Async_Http(1)—get请求和带参数请求
- 如何优雅的实现界面统跳协议
- Android Studio安装以及部分说明
- Hust oj 1369 Buy Computers(水题)
- Java泛型学习-泛型通配符的使用
- 带你了解面向对象的设计原则
- 关于浏览器和网络的20项须知-前言
- cocos2dx中的回调函数
- c++作业6
- shell(二)
- SqlHelper.cs