分布式-信息方式-ActiveMQ的静态网络连接

                       ActiveMQ的静态网络连接

在一台服务器上启动多个Broker
步骤如下:
1:把整个conf文件夹复制一份,比如叫做conf2
2:修改里面的 activemq.xml文件
(1)里面的 brokerName不能跟原来的重复
(2)数据存放的文件名称不能重复,比如:
<kahaDB directory="${activemq. data}/kahadb "/>
(3)所有涉及的 transportConnectors的端口,都要跟前面的不一样
3:修改 jetty.xm1,主要就是修改端口,比如
<property name=“port” value=“8181”/>端口必须和前面的不一样
4:到bin下面,复制一个 activemq,比如叫做 activemq2:
(1)修改程序的id,不能和前面的重复
ACTIVEMQ_PIDFILE="$ACTIVEMQ_DATA/activemq2.pid"
(2)修改配置文件路径
ACTIVEMQ_CONF="$ACTIVEMQ_BASE/conf2"
(3)修改端口,里面有个tcp的61616的端口,要改成不一样的,最好跟 activemq.xml里面的tcp的端口一致
(4)然后就可以执行了,如果执行没有权限的话,就授权: chmod 751 activemq2


ActiveMQ的 networkConnector是什么
在某些场景下,需要多个 ActiveMQ的 Broker做集群,那么就涉及到 Broker到 Broker的通信,这个
被称为 ActiveMQ的 networkConnector
ActiveMQ的 networkConnector默认是单向的,一个 Broker在一端发送消息,另一 Broker在另一
端接收消息。这就是所谓的“桥接”。 ActiveMQ也支持双向链接,创建一个双向的通道对于两个
Broker,不仅发送消息而且也能从相同的通道来接收消息,通常作为 duplex connector来映射,如下:
图2-1

discovery的概念
一般情况下, discovery是被用来发现远程的服务,客户端通常想去发现所有可利用
的 brokers:另一层意思它是基于现有的网络 Broker去发现其他可用的 Brokers。
有两种配置 Client到 Broker的链接方式,一种方式: Client通过 Statically配置的
方式去连接 Broker,一种方式: Client通过 discovery agents来 dynamically的发现
Brokers


Static networks
Static networkConnector是用于创建一个静态的配置对于网络中的多个 Broker。这
种协议用于复合url,一个复合url包括多个url地址。格式如下:
static: (uri1, uri2, uri3,....)?key=value
1:配置示例如下:
<networkConnectors>
<networkConnector name="localnetwork" uri="static: //(tcp: //remotehost1: 61616, tcp: //remotehost2: 61616)"/>
</networkConnectors>

上图中,两个Brokers是通过一个 static的协议来网络链接的。一个
Consumer链接到 brokerB的一个地址上,当 Producer在brokerA上以相同的地址
发送消息时,此时它将被转移到brokerB上。也就是,BrokeA会转发消息到
BrokerB上.

扫描二维码关注公众号,回复: 2325526 查看本文章

 

猜你喜欢

转载自www.cnblogs.com/caoyingjielxq/p/9355526.html