activemq集群(代码片段)

guanghe guanghe     2022-12-18     462

关键词:

ZooKeeper+ActiveMQ可以实现主从模式和集群模式

一、主从模式

  Master-Slave主从模式是一种高可用解决方案,在Zookeeper中注册若干ActiveMQ Broker,其中只有一个Broker提供对外服务(Master),其他Broker处于待机状态(Slave)。当Master出现故障导致宕机时,通过Zookeeper内部的选举机制,选举出一台Slave替代Master继续对外服务。

首先搭建zookeeper集群

技术图片

1,安装zookeeper并创建data数据目录

2,创建conf/zoo.cfg设置data数据目录、端口和server

1 dataDir=/opt/zookeeper/apache-zookeeper-3.5.5-1/data
2 clientPort=2181
3 server.1=192.168.50.30:2881:3881
4 server.2=192.168.50.30:2882:3882
5 server.3=192.168.50.30:2883:3883

3,复制出三个zookeeper

4,在每个Zookeeper 应用内的data 目录中增加文件myid内部定义每个服务的编号. 编号要求为数字,是正整数可以使用回声命名快速定义myid文件

1 echo "1" > /opt/zookeeper/apache-zookeeper-3.5.5-1/data/myid
2 echo "2" > /opt/zookeeper/apache-zookeeper-3.5.5-2/data/myid
3 echo "3" > /opt/zookeeper/apache-zookeeper-3.5.5-3/data/myid

5,启动zookeeper

1 /opt/zookeeper/apache-zookeeper-3.5.5-1/bin/zkServer.sh start
2 /opt/zookeeper/apache-zookeeper-3.5.5-2/bin/zkServer.sh start
3 /opt/zookeeper/apache-zookeeper-3.5.5-3/bin/zkServer.sh start

6,测试zookeeper集群

  连接一个zookeeper,实际上就连接上了整个zookeeper集群。

1 /opt/zookeeper/apache-zookeeper-3.5.5-1/bin/zkCli.sh -server 192.168.50.30:2181

技术图片

然后配置ActiveMQ主从模式

 1,复制三份ActiveMQ,配置conf/jetty.xml中端口为8161、8162、8163

2,修改conf/activemq.xml 文件。

修改broker 标签属性信息,统一所有节点的broker 命名。

1 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="mq-cluster" dataDirectory="$activemq.data">

修改broker 标签中子标签persistenceAdapter 相关内容。

replicas 属性代表当前主从模型中的节点数量。按需配置。

bind 属性中的端口为主从实例之间的通讯端口。代表当前实例对外开放端口是什么,三个实例分别使用62626、62627、62628 端口。

zkAddress 属性代表ZooKeeper 安装位置,安装具体情况设置。

zkPath 是ActiveMQ 主从信息保存到ZooKeeper 中的什么目录内。

hostname 为ActiveMQ 实例安装Linux 的主机名,可以在/etc/hosts 配置文件中设置。设置格式为:IP 主机名。如: 127.0.0.1 mq-server

 1 <persistenceAdapter>
 2     <!-- <kahaDB directory="$activemq.data/kahadb"/> -->
 3     <replicatedLevelDB 
 4         directory="$activemq.data/levelDB"
 5         replicas="3"
 6         bind="tcp://0.0.0.0:62626"
 7         zkAddress="192.168.50.30:2181,192.168.50.30:2182,192.168.50.30:2183"
 8         zkPath="/activemq/leveldb-stores"
 9         hostname="guangheV30"
10     />
11 </persistenceAdapter>

修改ActiveMQ 对外提供的服务端口。原默认端口为61616。当前环境使用的端口为:61616、61617、61618,修改conf/activemq.xml 配置文件。修改broker 标签中子标签transportConnectors 中tcp那一项的相关配置。

3,启动activeMQ主从

1 /opt/activemq/apache-activemq-5.15.9-1/bin/activemq start
2 /opt/activemq/apache-activemq-5.15.9-2/bin/activemq start
3 /opt/activemq/apache-activemq-5.15.9-3/bin/activemq start

4,查看activeMQ主从

进入zookeeper,$zkHome/bin/zkCli.sh

连接成功后,可以使用命令‘ls’查看ZooKeeper 中的目录结构
如:
  ls /
  ls /activemq/leveldb-stores
找到对应的内容后,可以使用命令‘get’查看ZooKeeper 中的数据内容
  get /activemq/leveldb-stores/00000000000

技术图片

二、集群模式

 

activemq集群和主从(代码片段)

举例说明:假设有3个broker节点,分别是61616,61618,61620,其中61616和61618组成主、从节点,而61616(或61618)和61620构成集群。61616和61618使用jdbc持久化,61620使用kahaDB。这样混合配置:能更好地理解主从和集群的区别,61616和61618在... 查看详情

activemq集群搭建(代码片段)

一、Activemq主备搭建  SharedFilesystemMaster-Slave方式  sharedfilesystemMaster-Slave部署方式主要是通过共享存储目录来实现master和slave的热备,所有的ActiveMQ应用都在不断地获取共享目录的控制权,哪个应用抢到了控制权,它就成为mast... 查看详情

activemq使用(代码片段)

 一、Windows安装ActiveMQ1.下载解压2.启动服务二、Linux安装ActiveMQ1.下载解压2.启动访问三、队列模式1.创建maven项目2.生产者3.消费者四、主题模式1.修改队列名字2.修改主题五、Spring集成ActiveMQ1.pom.xml2.消息接口3.... 查看详情

activemq集群负载平衡(代码片段)

目前的架构:负载均衡方案:=========================================第二种方案呢,假设我们整个应用是个食堂,这个食堂里面有好多饭口,每个饭口有好多大爷大妈(咦~~~)。每个饭口实现了高可用,即使有大妈不上班,还有大爷顶... 查看详情

activemq笔记linux部署:单机与集群部署流程(代码片段)

1.单机部署(1)获取安装包方法1:从官网下载    官网:ActiveMQ方法2:直接用wget命令下载cd/optwgethttp://archive.apache.org/dist/activemq/5.15.3/apache-activemq-5.15.3-bin.tar.gz(2)解压安装包并拷贝到工作目录cd/opt/apache-activem 查看详情

activemq中持久化协议高可用集群(代码片段)

...中的存储、移除流程、持久化消息的持久化存储时机、解activemq支持哪些持久化存储方式、持久化方式如何配置、ActiveMQ支持的协议与传输方式,高可用集群及适用场景等来解析ActiveMQActiveMQ中持久化消息在设置过持久化模式&#... 查看详情

linuxwindows安装activemq(代码片段)

Linux、Windows安装ActiveMQ一、下载二、Linux安装2.1、下载方式2.2、测试2.3、配置三、Windows安装四、ActiveMQ集群4.1、为什么使用集群4.2、BrokerClusters部署4.3、MasterSlave部署(主从)4.3.1、Sharestoragemasterslave(共享存储)4.3.2、Replicated... 查看详情

activemq学习第五篇:activemq伪集群学习(代码片段)

...、将conf文件夹复制一份cp-rconf/conf-1/#主要是修改conf-1目录activemq.xml#2、修改Broker名称<brokerxmlns="http://activemq.apache.org/schema/core"brokerName="localhost-1"dataDirectory="$activemq.data">#3、数据存储如果使用的是kahaDB,... 查看详情

activemq从入门到简单集群指南(代码片段)

1.什么是amqMQ是消息中间件,基于JAVA的JMS消息服务机制来传递信息。2.mq的作用MQ给程序之间提供了一个缓冲,避免了在程序交互频繁的情况下,提高程序性能瓶颈和数据的可靠性3.mq怎么用一个producer基于JMS的机制,写好信息,通... 查看详情

activemq知识概括(代码片段)

ActiveMQ知识概括ActiveMQ简介Java实现ActiveMQJMS规范与落地ActiveMQ的brokerSpring,SpringBoot整合ActiveMQActiveMQ的传输协议ActiveMQ的消息存储和持久化ActiveMQ多节点集群ActiveMQ高级特性ActiveMQ简介ActiveMQ安装:安装步骤:①去ActiveMQ官... 查看详情

activemq持久化机制(代码片段)

用户注册成功后发短信提醒  同步http  异步mq JMS中两种通讯模式:  发布订阅  一对多 topic  去过消费者集群的话都会消费    消息队列  点对点queue 去过消费... 查看详情

zookeeper与activemq整合(代码片段)

(一)zookeeper与activemq原理使用ZooKeeper实现的Master-Slave实现方式,是对ActiveMQ进行高可用的一种有效的解决方案,高可用的原理:使用ZooKeeper(集群)注册所有的ActiveMQBroker。只有其中的一个Broker可以对外提供服务(也就是Master节... 查看详情

activemq的静态网络配置(代码片段)

staticnetworkConnector是用于创建一个静态的配置对于网络中的多个Broker做集群,这种协议用于复合url,一个复合url包括多个url地址。<networkConnectors><networkConnectorname="localnetwork"duplex="true"uri="static://(tcp://192.168.174.104:61616 查看详情

activemq知识概括(代码片段)

ActiveMQ知识概括ActiveMQ简介Java实现ActiveMQJMS规范与落地ActiveMQ的brokerSpring,SpringBoot整合ActiveMQActiveMQ的传输协议ActiveMQ的消息存储和持久化ActiveMQ多节点集群ActiveMQ高级特性ActiveMQ简介ActiveMQ安装:安装步骤:①去ActiveMQ官... 查看详情

activemq知识概括(代码片段)

ActiveMQ知识概括ActiveMQ简介Java实现ActiveMQJMS规范与落地ActiveMQ的brokerSpring,SpringBoot整合ActiveMQActiveMQ的传输协议ActiveMQ的消息存储和持久化ActiveMQ多节点集群ActiveMQ高级特性ActiveMQ简介ActiveMQ安装:安装步骤:①去ActiveMQ官... 查看详情

部署rabbitmq集群(代码片段)

...展进程的通信。当下主流的消息中间件有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。其能在不同平台之间进行通信,常用来屏蔽各种平台协议之间的特性,实现应用程序 查看详情

activemq集群的安装

activeMQ集群的安装1.解压tarzxvfapache-activemq-5.13.3-bin.tar.gz2.移动解压目录分别生成不同的节点cp-rapache-activemq-5.13.3/usr/local/ActiveMQ-node1cp-rapache-activemq-5.13.3/usr/local/ActiveMQ-node2cp-rapache-activemq-5.13 查看详情

activemq集群搭建

集群搭建一:静态网络集群1.简介?当ActiveMQ面对大量消息存储和大量Client交互时,性能消耗将会达到单个broker极限,此时我们需要对ActiveMQ进行水平扩展。ActiveMQ提供了“network”机制,可以把多个broker实例“串联”一起,形成“Fo... 查看详情