首页 科技正文

东营旅游景点大全:ActiveMQ支持的新闻协议

admin 科技 2020-04-21 33 0

ActiveMQ支持哪些协议

ActiveMQ支持多种协议传输和传输方式,允许客户端使用多种协议毗邻
ActiveMQ支持的协议:AUTO,OpenWire,AMQP,Stomp,MQTT等
ActiveMQ支持的基础传输方式:VM,TCP,SSL,UDP,Peer,Multicast,HTTP(S)等,以及更高级的Failover,Fanout,Discovery,ZerConf方式

ActiveMQ的协议毗邻设置

在ActiveMQ安装目录的/conf/activemq.xml文件中,通过设置transportConnectors就可以使用多种传输方式。官方的设置文档:http://activemq.apache.org/configuring-transports

ActiveMQ常用的传输方式及设置

TPC:由于TCP具有可靠传输的特征,它在ActiveMQ中也是最常使用的一种协议。默认的设置中,TCP毗邻的端口为61616.
TCP设置花样:tcp://hostname:port?key=value
TCP设置参数说明:在服务端设置时,参数要以“transport.”开头,在客户端毗邻时,参数省略“transport.”前缀
TCP服务端设置示例:tcp://localhost:61616?transport.trace=false&transport.soTimeout=6000
TCP客户端示例:tcp://localhost:61616?trace=false&soTimeout=6000
TCP设置参数说明:

SSL:需要一个平安毗邻的时刻可以思量使用SSL,适用于client和broker在公网的情形
SSL设置花样:ssl://hostname:61616
SSL客户端设置:JMX客户端需要使用ActiveMQSslConnectionFactory类建立毗邻,brokerUrl以ssl://开头
SSL主机名验证:从ActiveMQ 5.15.6最先,ActiveMQ最先支持TLS主机名验证,默认情形下客户端启用了该验证,而服务端没有启用。服务端设置为 ssl://localhost:61616?transport.verifyHostName=true 客户端设置为 ssl://localhost:61616?verifyHostName=false

NIO: 使用Java的NIO方式对毗邻举行改善,由于NIO使用线程池,可以复用线程,以是可以用更少的线程维持更多的毗邻。如果有大量客户端,或者性能瓶颈在网络传输上,可以思量使用NIO的毗邻方式
NIO设置花样:nio://hostname:port?key=value
NIO是OpenWire协议的传输方式,其他协议,像AMQP,MQTT,STOMP也有NIO的实现,通常在协议前缀中加“+nio”来区分,如:mqtt+nio://localhost:1883
NIO传输线程使用设置:从5.15.0最先,ActiveMQ支持调整NIO的传输线程,可以设置以下属性

NIO传输线程使用情形设置:属性可以在ActiveMQ安装目录/bin/env中设置,如:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS -Dorg.apache.activemq.transport.nio.SelectorManager.corePoolSize=2000 -Dorg.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=2000 -Dorg.apache.activemq.transport.nio.SelectorManager.workQueueCapacity=1024"

NIO+SSL:从ActiveMQ 5.6版本最先,NIO可以支持和NIO搭配使用的传输毗邻,花样为nio+ssl://0.0.0.0:61616

UDP:与面向毗邻,可靠的字节省服务的TCP差别,UDP是一个面向数据的简朴传输毗邻,没有TCP的三次握手,以是性能大大强于TCP,然则是以牺牲可靠性为条件,适用于丢失也无所谓的新闻
UDP设置花样:udp://localhost:8123
UDP设置参数说明:

HTTP(S):需要穿越防火墙,可以思量使用HTTP(S),但由于HTTP(S)时短毗邻,每次建立毗邻的成本较高,以是性能最差。通过XML传输数据。
HTTP(S)设置花样:http(s)://localhost:8080?param1=value1&param2=value2

VM:虚拟机协议(方式直调),使用场景是client和broker在同一个Java虚拟机内嵌的情形,无需网络通讯的开销。
VM设置花样:vm://brokerName?marshal=false&broker.persistent=false
VM设置参数说明:

OpenWire协议

OpenWire协议是Apache一种跨语言的协议,允许从差别的语言和平台接见ActiveMQ,是ActiveMQ 4.x以后的版本默认的传输协议。

Open Wire支持TCP,SSL,NIO,UDP,VM等传输方式,直接设置这些毗邻,就是使用的OpenWire协议,OpenWire有自己的设置参数,客户端和服务端设置的参数名通过前缀“wireFormat.”示意。如:tcp://localhost:61616?wireFormat.cacheEnabled=false

OpenWire的设置参数说明:

MQTT协议

MQTT(Message Queue Telemetry Transport)新闻行列遥测传输,是IBM开发的一个即时通讯协议,已成为物联网通讯的尺度。

MQTT的结构简朴,相对于其他协议,它加倍轻量级。适合在盘算能力有限,低带宽,不可靠的网络环境使用。

MQTT的公布订阅模子:

服务质量(QoS)级别是一种关于发生者和接收者之间信息投递的保证协议。MQTT中有三种QoS级别:至多一次(level 0),至少一次(level 1),只有一次(level 2)
QoS是MQTT的一个主要功能,它使得在不可靠的网络下举行通讯变得简朴,由于即便是在异常不可靠的网络下,协议也可以掌控是否需要重发新闻并保证新闻到达。它也能辅助客户端凭据网络环境和程序逻辑来自由选择QoS

AUTO协议

AUTO,自动检测协议,从ActiveMQ 5.13.0最先,ActiveMQ最先支持协议花样检测,可以自动检测OpenWire,STOMP,AMQP和MQTT,允许这四种类型的客户端共享一个传输。
设置示例:auto://loacalhost:5671 ,auto+nio+ssl://localhost:5671

​,

阳光在线

阳光在线www.slwgd.com(原诚信在线)现已开放阳光在线手机版下载。阳光在线游戏公平、公开、公正,用实力赢取信誉。

版权声明

本文仅代表作者观点,
不代表本站Sunbet的立场。
本文系作者授权发表,未经许可,不得转载。

评论