4.5网络连接器

代理网创建了由多个ActiveMQ实例组成的群,它们内部相连来满足更高级的消息方案。有许多代理网的拓扑图,它们的目的和它们的详细配置将在第10章详细介绍。之前的章节讨论了提供客户端到代理交互的传输连接器,然而这一章节将讨论提供代理到代理交互的网络连接器。
网络连接器是在代理解配置的通道,使那些代理能相互交互。网络连接器默认是单向通道。一个给定的代理通过转发它收到的消息给连接那一端的代理进行单向传输。此设置通常被称为转发桥。在一些情况下,你可能想要在代理器之间建立一个双向交互通道--一个不仅向外传输给另外一端代理的通道,还能接收从同一个通道的其它代理来的消息。ActiveMQ支持这种双向连接,通常被称为双向连接器。图4.5(图略)显示了一个这样的例子:包含转发桥和双向连接器的代理网。
类似于传输连接器,网络连接器通过ActiveMQ XML配置文件进行配置。让我们看看一个配置示例:
<networkConnectors>
  <networkConnector name="default-nc" uri="multicast://default"/>
</networkConnectors>
如你所见,代理网络通过<networkConnectors>元素进行配置。该元素包含一个或更多的<networkConnector>元素的配置。和传输连接器配置比较,<networkConnector>元素强制属性是name和uri。你将看到,其它所有的属性都是可选的和用来配置连接器上额外特性。
在该章的其它部分,许多用来配置和连接代理器网络的ActiveMQ协议和技术会被介绍和讨论。但在我们深入之前,有一个重要的ActiveMQ概念--discovery,需要我们了解。通常,discovery是一个监测远程代理服务的过程。客户端通常想要发现所有的代理。另一方面,代理通常想要找到其它可用代理这样它们能够建立一个代理网络。
当你想要配置代理网络,第一个明显的问题是,你是否知道网络中每一个代理的确切的网络地址?如果是,纳闷你可以静态的配置你的网络并连接你的客户端到预先定义的代理URIs。这个情况更经常出现在这样的产品环境:你想要完全控制所有的资源。第4.5.1节介绍如何能建立和使用静态网络。它从解释用于连接多个代理的静态协议开始。然后,我们将解释一个failover协议,它将允许客户端连接到网络中的一个代理并利用重连逻辑。
万一客户端和代理们不知道彼此的额昂罗地址,它们必须使用一些发现机制去动态定位可用的代理。这种设置在开发环境中更常见,因为它更容易建立和维护。发现引擎和协议将在第4.5.2节介绍。你将了解IP多路连接如何被代理用在通知它们的服务并定位其他使用多路连接器的可用的代理。同时,我们将看到客户端如何使用多路连接器发现使用发现连接器的代理。
我们也将深入到对等连接器(peer connector),它将使建立嵌入式代理网成为一项简单的工作。最终,我们将看到 fanout连接器如何使客户端发送消息到多个代理上。让我们从静态网络开始吧。

猜你喜欢

转载自flxchy4.iteye.com/blog/1694276