ActiveMQ支持的client-broker:
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=value
Transport 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
分享到:
相关推荐
ActiveMQ中间件面试总结
ActiveMQ JDBC集群总结
java中使用消息中间件ActiveMQ的MQTT协议发布消息使用fusesource,fusesource提供三种方式实现发布消息的方式,分别是阻塞式(BlockingConnection)、回调式(CallbackConnection)和Future样式(FutureConnection)
对于比较小的文件,简单的处理方式是先读取所有的文件成byte[],然后使用ByteMessage,把文件数据发送到broker,像正常的message一样处理。
WebSocket协议接收ActiveMQWebSocket协议接收ActiveMQWebSocket协议接收ActiveMQWebSocket协议接收ActiveMQ
——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!
activeMQ开启jmx固定rmi端口,穿透防火墙,用了一天的时间,踩了无数的坑,拿出来共享.
aix上websphere activemq部署总结.doc
ActiveMq 消息队列 面试消息队列
标签:activemq-xmpp-4.1.2.jar,activemq,xmpp,4.1.2,jar包下载,依赖包
这是我学习activeMQ时总结的文档,其中有实例,还有一些我遇到的问题。
SpringBoot整合ActiveMQ消息队列和双向队列、点对点与发布订阅,可以参考我的博客文章进行学习https://blog.csdn.net/sujin_/article/details/82956386
大概跟尚硅谷周洋老师的activeMQ差不多,可以用来学习和复习。
ActiveMQ允许客户端使用多种协议接收消息,其中WebSocket协议的URL使用ws://开头,默认端口号是61614
项目nettythird为springboot整合activemq,项目nettyserver为开启一个netty服务,简单进行了超时问题的解决,以及如何向客户端定向发送数据问题,可以当作一个样例,编辑可直接运行,测试类在server项目下,需要一个...
activemq activeMq笔记.docx
activemq 通过ajax发送接收消息简单例子
作为一种消息队列 middleware,ActiveMQ提供了许多功能,例如支持多种消息协议、事务支持、持久化机制等。为了确保ActiveMQ的正确使用和开发,需要遵守一定的开发规范和方案。 规则定义 在使用ActiveMQ之前,需要...
NULL 博文链接:https://itjiehun.iteye.com/blog/1321969
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka...3、支持多种传输协议:TCP,SSL,NIO,UDP等 4、支持AJAX 消息形式: 1、点对点(queue) 2、一对多(topic)