【笔记于学习尚硅谷课程所作】
8、ActiveMQ的传输协议
8.1 网络协议的种类
协议 | 描述 |
---|---|
TCP[重] | 默认的协议,性能相对可以 |
NIO[重] | 基于TCP协议之.上的,进行了扩展和优化,具有更好的扩展性 |
UDP | 性能比TCP更好,但是不具有可靠性 |
SSL | 安全链接 |
HTTP | 基于HTTP或者HTTPS |
VM | VM本身不是协议,当客户端和代理在同一个Java虚拟机(VM)中运行时,他们之间需要通信,但不想占用网络通道,而是直接通信,可以使用该方式 |
8.2 使用NIO传输协议
activemq默认支持5种协议(openwire为默认的协议)
1.修改activemq.xml(添加nio)
<transportConnector name="nio" uri="nio://0.0.0.0:61618?trace=true"/>
2.修改生产者与消费者配置的代码(端口:61618)
broker-url: nio://192.168.111.136:61618 #自己的MQ服务器地址
8.3 NIO加强
URI格式头以"nio”开头, 表示这个端口使用以TCP协议为基础的NIO网络I0模型。但是这样的设置方式,只能使这个端口支持Openwire协议。
问题:怎么既让这个端口支持NIO网络IO模型,又让它支持多个协议呢?
解决:使用auto关键字,使用"+"符号来为端口设置多种特性(NIO加强)
1.在activemq.xml(添加auto+nio)
<transportConnector name="auto+nio" uri="auto+nio://0.0.0.0:61608?maximumConnections=1000&
wireFormat.maxFrameSize=104857600&
org.apache.activemq.transport.nio.SelectorManager.corePoolSize=20&
org.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=50" />
2.修改生产者与消费者配置的代码(端口:61608)
broker-url: nio://192.168.111.136:61608 #自己的MQ服务器地址