ActiveMQ_协议_C_2021-03-05

编号说明
C_2021-03-05第一次创建

协议

这些配置信息都是在broker标签里的,包括前面写的persistenceAdaptor。在实际使用中,如果想要让broker支持某一个或者某几个传出协议的话,可以更改broker中transportConnectors标签下的属性。下面粘贴出了activemq.xml中的配置信息,也是默认的配置信息。

<!--
   The transport connectors expose ActiveMQ over a given protocol to
   clients and other brokers. For more information, see:

   http://activemq.apache.org/configuring-transports.html
-->
<transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

更多协议的详解,参见官网ActiveMQ协议

TCP

broker中默认的传输协议,默认端口号是61616。
与其他协议不同,上面实例中,其他写的uri内容的开头,就是name中的值。只有和这个是个例外。在网络传输数据前,必须要序列化数据,消息是通过一个叫 wire protocol 的来序列化成字节流。默认情况下,ActiveMQ把wire protocol叫做OpenWire,它的目的是促使网络上的效率和数据快速交互。

TCP连接的URI形式:tcp://hostname:port?key=value&key=value

上面连接中的参数是可选的。

NIO

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

<transportConnectors>
	<!--tcp-->
  <transportConnector name="openwire" uri="tcp://localhost:61616?trace=true" />
  <!--nio-->
  <transportConnector name="nio" uri="nio://localhost:61618?trace=true" />
</transportConnectors>

下面是官网的截图。
官网截图

UDP

UDP仅仅是一个链接协议,所以它没有可靠性之说。
TCP是被用在稳定可靠的场景中使用的;
UDP通常用在快速数据传递和不怕数据丢失的场景中,还有ActiveMQ通过防火墙时,只能用UDP。下面给出了UDP的链接用例。

<transportConnectors>
    <transportConnector name="udp" uri="udp://localhost:61618?trace=true" />
</transportConnectors>

SSL

与上面的类似,在使用SSL协议的时候,需要进行如下配置。

<transportConnectors>
    <transportConnector name="ssl" uri="ssl://localhost:61617?trace=true"/>
</transportConnectors>

HTTP/HTTPS

像web和email等服务需要通过防火墙来访问的,Http可以使用这种场合。
在使用HTTP/HTTPS的时候,链接格式是:

  • http://hostname:port?key=value
  • https://hostname:port?key=value

对应配置:

<transportConnectors>
    <transportConnector name="http" uri="http://localhost:8080?trace=true" />
</transportConnectors>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值