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上.

分布式-信息方式-ActiveMQ的静态网络连接的更多相关文章

  1. 分布式-信息方式-ActiveMQ静态网络连接的容错

    容错的链接Failover Protocol 前面讲述的都是client配置链接到指定的 broker上.但是,如果 Broker的链接失败怎么办呢?此时, Client有两个选项:要么立刻死掉,要么 ...

  2. 分布式-信息方式-ActiveMQ静态网络连接信息回流功能

    “丢失”的消息 有这样的场景, broker1和 broker2通过 netwoskconnector连接,一些 consumers连接到 broker1,消费 broker2上的消息.消息先被 br ...

  3. 分布式-信息方式-ActiveMQ静态网络连接多线程的consumer(消费者)访问集群

    操作如下: 1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的 activemq.xml文件(1)里面的 brokerName不能跟原来的重复(2)数据存放的文件名称不能重复,比如:& ...

  4. 分布式-信息方式-ActiveMQ的Message dispatch高级特性之(指针) Message cursors

    Message dispatch高级特性之 Message cursors概述            ActiveMQ发送持久消息的典型处现方式是:当消息的消费者准备就绪时,消息发送系统把存储的 消息 ...

  5. 分布式-信息方式-ActiveMQ的Destination高级特性3

    虚拟destination用来创建逻辑destination,客户端可以通过它来生产和消费消息,它会把消息映射到物理destination. ActiveMQ支持2种方式: 1:虚拟主题(Virtua ...

  6. 分布式-信息方式-ActiveMQ的Destination高级特性1

    ActiveMQ的Destination高级特性 Destination高级特性----->Composite Destinations 组合队列Composite Destinations : ...

  7. 分布式-信息方式-ActiveMQ的集群

    ActiveMQ的集群Queue consumer clusters              ActiveMQ支持 Consumer对消息高可靠性的负载平衡消费,如果一个 Consumer死掉,该消 ...

  8. 分布式-信息方式-ActiveMQ的动态网络链接

    ActiveMQ的动态网络链接多播协议 multicast ActiveMQ使用 Multicast协议将一个 Service和其他的 Broker的 Service连接起来,IPmulticast是 ...

  9. 分布式-信息方式-ActiveMQ的消息存储持久化

    ActiveMQ的消息存储持久化■概述ActiveMQ不仅支持 persistent和 non-persistent两种方式,还支持消息的恢复( recovery)方式PTPQueue的存储是很简单的 ...

随机推荐

  1. 通过设置访问密码查看Tomcat服务器运行状态

    安装tomcat 设置访问manager用户名,密码 vim /usr/local/tomcat9/conf/tomcat-users.xml # 设置访问manager用户名,密码 # 在倒数第二行 ...

  2. JavaScript学习基础

    基本语法    JavaScript语法和Java语言类似,每个语句以 : 结束,语句块用 {...}包起来.JavaScript并不强制要求在每个语句的结尾加: ,但是建议都加上,不给自己找麻烦.  ...

  3. cefsharp webBrowser Javascript 打开winForm界面

    在Cef webBrowser中,如果要调用 Javascript打开 一个 winForm界面,则需要使用  ShowDialog(),而不能使用 Show(),否则界面上的鼠标会转个不停

  4. java_day01

    ch01: ===================================== java J2SE 桌面应用的开发 JAVA SE corejava J2EE 企业级开发 JAVA EE J2 ...

  5. springboot中使用servlet通过配置类

    在servlet目录下创建个servlet类,示例代码如下: package com.bjpowernode.springboot.servlet; import javax.servlet.Serv ...

  6. Python之路:进程、线程

    目录 一.进程与线程区别 1.1 什么是线程 1.2 什么是进程 1.3 进程与线程的区别 二.Python GIL全局解释器锁 三.线程 3.1 threading模块 3.2 Join & ...

  7. 【AGC005 F】Many Easy Problems

    神他吗一天考一道码农题两道 FFT(其实还是我推式子一窍不通) 题意 给你一棵 \(n\) 个点的树,再给你一个常数 \(k\). 设 \(S\) 为树上某些点的集合,定义 \(f(S)\) 为最小的 ...

  8. Spring-data-jpa操作数据库环境配置

    application.xml文件 <?xml version="1.0" encoding="UTF-8"?><beans xmlns=&q ...

  9. Android编程使用httpHelper不执行错误-20171017

    解决方法:将显示等代码(例如setText()和setAdapter()等方法)从主函数onCreate()中移到httpHelper.get()函数中:   原因:有可能是主线程运行的较快,而连接服 ...

  10. mvn高级构建

    指定pom文件,打包指定的module,并且自动打包这个模块所依赖的其他模块. mvn clean install -f vmc-business-parent/pom.xml -pl vmc-sch ...