ActiveMQ官方文档翻译-配置Transport

Transport配置选项


你首选会做的第一件事件可能就是使用一种transport URI来连接上一个borker。通常情况下你首先会使用TCP或VM这两种transport。

小心空白字符
以下所有的URI配置都是基于java.net.URI类的,该类不允许使用空白字符。所以当你使用failover:或static:这两种URI时请不要在逗号周围放置空白字符。

VM Transport


 VM transport允许在VM内部通信,从而避免了网络传输的开销。这时候采用的连接不是socket连接,而是直接地方法调用。 第一个创建VM 连接的客户端会启动一个embed VM broker,接下来所有使用相同的brokername的VM连接都会使用这个broker。当这个broker上所有的连接都关闭的时候,这个broker也会自动关闭。

更多细节请参考VM Transport指南

AMQP Transport


从5.8.0以后,ActiveMQ已经支持AMQP协议了。更多的细节请参考AMQP Transport指南。

MQTT Transport


从5.6.0版本以后,ActiveMQ已经支持MQTT协议。这是一个轻量级的发布/订阅消息传输协议。更多细节请参看MQTTTransport指南。

TCP Transport


TCP transport 允许客户端通过TCP socket连接到远程的broker。

更多细节请参看TCP Transport指南。

NIO Transport


NIO Transport和TCP transport 的作用是一样的,只不过NIO Transport使用了java的NIO包,这可能可以提供更好的性能。请注意不要把java的NIO包和IBM的 AIO4J包混淆了。

从TCP切换到NIO,只需要简单的修改URI的schema部分。下面是一个简单的xml配置文件的例子。

<broker>
  ...
  <transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>  
  </<transportConnectors>
  ...
</broker>

Trying to use nio transport url on the client side will instantiate the regular TCP transport.

SSL Transport


SSL Transport允许你在TCP的基础上使用SSL。

更多细节请参考SSLTransport指南。

NIO SSL Transport


5.6版本以后可用。

在NIO的基础上实现SSL transport。这允许你在单个broker实例上创建大量的SSL客户端连接。服务端的transport选项只需要作以下配置:

<broker>
  ...
  <transportConnectors>
    <transportConnector name="nio+ssl" uri="nio+ssl://0.0.0.0:61616"/>  
  </<transportConnectors>
  ...
</broker>

Trying to use nio+ssl transport url on the client side will instantiate the regular SSL transport.

Peer Transport


Peer transport通过ActiveMQ提供了一个点对点的传输网络。原理实际上是一端通过VM transport连接上本地的内嵌的broker,然后再通过配置让这个内嵌的broker通过网络连接连上另一端的内嵌的broker。

更多细节请参见Peer Transport指南。

UDP Transport


UDP Transport允许你使用UDP协议。

更多细节请参考UDPTransport指南。

Multicast Transport


这允许你使用组播传输

更多细节请参考 Multicast Transport Reference

HTTP and HTTPS Transport


允许ActiveMQ的客户端和服务端通过http协议进行通信。如果客户端不是JMS的话,你可以参看RESTAjax的支持。

更多细节请查看HTTP and HTTPs Transports Reference

WebSockets Transport


这个Transport使用新的html5 websocket来和borker进行信息交互。更多细节请参考WebSockets Transport Reference

Stomp Transport


一个简单的可以使用多种编程语言进行文本传输的机制。更多细节请参考 Stomp

通用的URI


你可以通过URL表达式配置其它的特性,如下:

连接配置


所有的ActiveMQ JMS连接都可以通过URI或通过编程的方式在 ActiveMQConnectionActiveMQConnectionFactory中明确的设置连接属性。

更多细节请参考Connection Configuration URI

Destination Options


通过Destination Options(它可以通过URI表达式配置目标地址)你可以配置各种与消费者相关的选项。

Broker 配置


你可以使用Broker Configuration URI来配置一个内嵌的Broker,它即支持通过使用java语言来使用BrokerFactory帮助类也支持通过使用ActiveMQ的shell脚本。更多细节请参考 How to Run a Broker

高级协议URI


下面的高级协议也可以通过URI的方式进行配置

Failover Transport


Failover Transport是一种重新连接的机制,它工作于其它transport的上层,用于建立可靠的传输。它的配置语法允许制定任意多个复合的URI。Failover transport会自动选择其中的一个URI来尝试建立连接。如果没有成功,那么会选择一个其它的URI来建立一个新的连接。

更多细节请参考 Failover Transport Reference

Fanout Transport


Fanout Transport是一种重新连接和复制的机制,它工作于其它transport的上层。它采用复制的方式把消息复制到多个broker。

更多细节请参考Fanout Transport Reference

使用Discovery


经常在使用类似tcp transport的时候你可能会想使用 Discovery来定位可用的Broker.这有别于Multicast,因为这个机制实际上主要是使用TCP,而Multicast是纯粹用来使用发现borker的位置。

Discovery Transport


Discovery transport是可靠的tranport。它使用Discovery transport来定位用来连接的URI列表。

更多细节请参考Discovery Transport Reference

ZeroConf Transport


The ZeroConf transport provides Discovery and it works like the Discovery Transport but rather than using our own multicast based discovery mechanism (which allows you to configure the exact multicast address and port, etc.), the ZeroConf transport is used instead.

更多细节请参考ZeroConf Transport Reference

服务端选项


有许多选项用来配置服务端的TransportConnector。如下:

属性名
默认值描述
urinull
namenull
discoveryURInull
enableStatusMonitorfalse
updateClusterClientsfalse
rebalanceClusterClientsfalse
updateClusterClientsOnRemovefalse
updateClusterFilternull
allowLinkStealingfalse

注意:红色字体的属性是5.1.0以后才有的属性。

下面是一个例子:

<broker>
  ...
  <transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" enableStatusMonitor="true"/>  
  </<transportConnectors>
  ...
</broker>

原文链接

Configuring Version 5 Transports

转载于:https://my.oschina.net/u/914897/blog/465772

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值