ActiveMQ消息队列的集群安装及应用(二)

ActiveMQ教程(二)- 集群 序基础设施 zookeeper 程序协调服务框架,用于自动调度多个activemq activemq 消息队列框架,我们会部署多个activemq服务 规划假设我们有三台服务器: 192.168.0.200 部署activemq-master、zookeeper 192.168.0.201 部署activemq-slave01 192.168.0.202 部署activemq-slave0 阅读详情

       

        使用ZooKeeper实现的MasterSlave实现方式, 是对ActiveMQ进行高可用的一种有效的解决方案, 高可用的原理:使用ZooKeeper(集群)注册所有的ActiveMQ  Broker。只有其中的一个Broker可以对外提供服务( 也就是Master节点) ,其他的Broker处于待机状态,被视为Slave。如果Master因故障而不能提供服务,则利用ZooKeeper的内部选举机制会从Slave中选举出一个Broker充当Master节点,继续对外提供服务。

         Zookeeper + ActiveMQ 集群整合配置文档(点击下载)

        ActiveMQ的代码都很固定,所以学起来也很容易点。


1、Receiver类(安装集群好了、先启动这个类)

package com.czy.cluster;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * @auther 陈郑游
 * @create 2017/4/6 0006
 * @功能
 * @问题
 * @说明
 * @URL地址
 * @进度描述
 */
public class Receiver {

    public static void main(String[] args)  {
        try {
            //第一步:建立ConnectionFactory工厂对象,需要填入用户名、密码、以及要连接的地址,均使用默认即可,默认端口为"tcp://localhost:61616"
            ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
                    ActiveMQConnectionFactory.DEFAULT_USER,
                    ActiveMQConnectionFactory.DEFAULT_PASSWORD,
                    "failover:(tcp://192.168.100.11:51511,tcp://192.168.100.11:51512,tcp://192.168.100.11:51513)?Randomize=false");

            //第二步:通过ConnectionFactory工厂对象我们创建一个Connection连接,并且调用Connection的start方法开启连接,Connection默认是关闭的。
            Connection connection = connectionFactory.createConnection();
            connection.start();

            //第三步:通过Connection对象创建Session会话(上下文环境对象),用于接收消息,参数配置1为是否启用是事务,参数配置2为签收模式,一般我们设置自动签收。
            Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

            //第四步:通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destination被称作Queue即队列;在Pub/Sub模式,Destination被称作Topic即主题。在程序中可以使用多个Queue和Topic。
            Destination destination = session.createQueue("first");
            //第五步:通过Session创建MessageConsumer
            MessageConsumer consumer = session.createConsumer(destination);

            while(true){
                TextMessage msg = (TextMessage)consumer.receive();
                if(msg == null) break;
                System.out.println("收到的内容:" + msg.getText());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}


2、Sender类(发送消息类)

package com.czy.cluster;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * @auther 陈郑游
 * @create 2017/4/6 0006
 * @功能
 * @问题
 * @说明
 * @URL地址
 * @进度描述
 */
public class Sender {
    public static void main(String[] args) {
        try {
            //第一步:建立ConnectionFactory工厂对象,需要填入用户名、密码、以及要连接的地址,均使用默认即可,默认端口为"tcp://localhost:61616"
            ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
                    ActiveMQConnectionFactory.DEFAULT_USER,
                    ActiveMQConnectionFactory.DEFAULT_PASSWORD,
                    "failover:(tcp://192.168.100.11:51511,tcp://192.168.100.11:51512,tcp://192.168.100.11:51513)?Randomize=false");

            //第二步:通过ConnectionFactory工厂对象我们创建一个Connection连接,并且调用Connection的start方法开启连接,Connection默认是关闭的。
            Connection connection = connectionFactory.createConnection();
            connection.start();

            //第三步:通过Connection对象创建Session会话(上下文环境对象),用于接收消息,参数配置1为是否启用是事务,参数配置2为签收模式,一般我们设置自动签收。
            Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

            //第四步:通过Session创建Destination对象,指的是一个客户端用来指定生产消息目标和消费消息来源的对象,在PTP模式中,Destination被称作Queue即队列;在Pub/Sub模式,Destination被称作Topic即主题。在程序中可以使用多个Queue和Topic。
            Destination destination = session.createQueue("first");

            //第五步:我们需要通过Session对象创建消息的发送和接收对象(生产者和消费者)MessageProducer/MessageConsumer。
            MessageProducer producer = session.createProducer(null);

            //第六步:我们可以使用MessageProducer的setDeliveryMode方法为其设置持久化特性和非持久化特性(DeliveryMode),我们稍后详细介绍。
            //producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

            //第七步:最后我们使用JMS规范的TextMessage形式创建数据(通过Session对象),并用MessageProducer的send方法发送数据。同理客户端使用receive方法进行接收数据。最后不要忘记关闭Connection连接。

            for(int i = 0 ; i < 500000 ; i ++){
                TextMessage msg = session.createTextMessage("我是消息内容" + i);
                // 第一个参数目标地址
                // 第二个参数 具体的数据信息
                // 第三个参数 传送数据的模式
                // 第四个参数 优先级
                // 第五个参数 消息的过期时间
                producer.send(destination, msg, DeliveryMode.NON_PERSISTENT, 0 , 1000L);
                System.out.println("发送消息:" + msg.getText());
                Thread.sleep(1000);

            }

            if(connection != null){
                connection.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}



RabbitMQ、RocketMQ 和 ActiveMQ 三种主流消息队列的详细部署安装指南 本文提供了RabbitMQ、RocketMQ和ActiveMQ三种主流消息队列的详细部署安装指南。重点介绍了RabbitMQ的Docker安装方式(推荐)和APT安装方法,以及RocketMQ使用Docker Compose的部署步骤。RabbitMQ部分包含Web管理界面配置和用户验证,RocketMQ部分则详细说明了NameServer和Broker的启动流程,并提供了broker.conf配置模板。两种消息队列的安装都包含验证步骤,确保服务正常运行。 阅读详情

相关推荐

Java消息队列-activemq集群与配置

主从集群方案: Shared storage master/slave 共享存储 Replicated LevelDB Store 基于复制的LevelDB Store基于复制的LevelDB Store的原理 三者配置同一个Zookeeper结点, Zookeeper选举A为主(此时只有A具有服务的能力),A获得消息后本地储存,然后通过Zookeeper同步到B、C, B、C分别对消息进

DChuan 1169

深入探索:Zookeeper+消息队列(kafka)集群

本文主要介绍zookeeper集群+kafka集群的部署,希望对你有帮助!

十七拾的博客 1752

ActiveMQ消息队列主从集群

ActiveMQ主从高可用集群,需要使用Zookeeper集群注册所有的ActiveMQ节点,由Zookeeper实现主备切换时的选举,在主从高可用集群中,只有一个ActiveMQ节点处于工作状态,被视为Master节点,其他的ActiveMQ节点处于待机状态,当主节点挂掉后,Zookeeper会通过选举机制将集群中的某个ActiveMQ节点提升为Master,继续提供服务。模拟ActiveMQ主节点宕机,观察是否会由集群中另外的从节点,升级为主节点。每个节点都有单独的通信地址,故障切换后可以直接切换。

江晓龙的博客 1万+

分布式应用之zookeeper集群+消息队列Kafka

zooper集群 消息队列kafka broker

zhangchang3的博客 1112

ActiveMQ消息队列的介绍以及部署

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议。完全支持JMS客户端和Message Broker中的企业集成模式。支持许多高级功能,如消息组,虚拟目标,通配符和复合目标。

江晓龙的博客 1万+

热膨胀系数(CTE)的不同处理方法对于封装翘曲仿真的影响

随着技术的不断发展,芯片封装的集成度越来越高,尺寸也越来越大,随之而来的封装翘曲问题也越来越引起关注。影响芯片封装翘曲最主要的原因就是封装中不同材料热膨胀系数(CTE)的失配性,因此在进行封装翘曲仿真的过程中,如何使用材料的CTE值就变得尤为重要,会对仿真精度产生较大的影响。本文将对比不同CTE的处理方法给仿真结果带来的影响。

wangyubo1的博客 6861

MQ消息队列(五)——RabbitMQ进阶 MQ集群+集群的部署+集群的扩容

!!!

m0_45101736的博客 2389

双目相机立体匹配算法概述(含Python代码)

立体匹配任务是计算机视觉中的一个重要问题,旨在从一对具有相同场景的图像中估计每个像素的视差(disparity)。本文对现有的传统算法和深度学习算法进行了综述,以便于各位选择合适的立体匹配算法用于深度估计或三维建模。

m0_59257547的博客 8295

zookeeper+kafka消息队列群集部署

消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到MQ中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。

m0_68625092的博客 1964

【数据库】SQL Server 2008 R2 安装全流程详解与常见问题避坑指南

本文详细解析了SQL Server 2008 R2的完整安装流程与核心配置。从安装前的系统兼容性检查、.NET Framework依赖准备,到图文详解实例配置、混合身份验证模式设置等关键步骤,并提供了安装失败、服务无法启动等高频问题的排查与避坑指南,帮助用户顺利完成部署。

java5的博客 1245

大模型辅助意图识别,更懂你的客户洞察平台

通过大量的学习和训练,大模型不仅具备庞大的知识库,更掌握着丰富的语言模式和语义规则,能够精准地理解每一段对话的含义,为每一通对话进行全面、准确的标注。主要来自客户的行为信息,将客户与机构的重要时刻以时间轴的方式呈现出来,掌握客户生命周期的完整脉络,识别一些容易被忽略的重要营销MOT(Moment Of Truth,关键时刻研究)机会,提示理财经理跟进处理。将客户的历史交易数据和埋点系统采集的客户行为数据结合起来,辅以部分内容资讯的偏好探测,综合分析和预测客户在各个维度的喜好程度,实现千人千面的客户推送。

Dezhuzhineng的博客 2162

Day 48 消息队列集群RabbitMQ

MQ 全称为(Message Queue消息队列)。是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信。。队列的使用除去了接收和发送应用程序同时执行的要求。

xlv133922的博客 1624

倒立摆入门详解+pid调参

倒立摆制作全过程 最近在练习pid的控制算法,就选用了2013年的电子设计国赛题目:倒立摆 。 首先给你们看看我的成果 注意哦:倒立摆不是靠上面黄色的传感器保持平衡的,而是通过下面的电机左右扭动使得摆杆不掉下来,难度可不小了。 材料准备 1.机械部分 如图所示选好电机和角位移传感器进行组装就好了,这个部分是我直接网上购买的,如果要自己装也是可以的,不过会比较麻烦,结构差不多的。 2.主控部分 这个部分的话完全是我自己设计的,作用和网上买的一样,因为网上买的话太贵了,有需要的话可以联系我,有pcb文件

small_po_kid的博客 2万+

Activemq的集群

Activemq的集群讲解 了解ActiveMQ ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在早些年的 “J2EE应用” 时期扮演着特殊的地位,可以说那个年代ActiveMQ在业界应用最广泛,当然如果现在想要有更强大的性能和海量数据处理能力,ActiveMQ还需要不断的升级版本,不断的提升性能和架构设计的重构。 1.1什么是消息队列? 也就是MQ(Message Queue),是基础数据结构...

选择大于努力吗? 3625

学Simulink——基于电能质量治理的场景实例:静止无功发生器(SVG)与并网逆变器的结合

本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合仿真建模方法。系统包含光伏单元、SVG主电路、控制策略(无功检测+双闭环控制)等模块,通过ip-iq法实现动态无功补偿。仿真结果表明,SVG能快速响应负载变化,将功率因数提升至0.98以上,有效稳定母线电压。该方案为新能源并网系统提供了有功/无功协同控制解决方案,具有10ms级响应速度和±5kvar补偿能力。文章提供了完整的建模流程、控制算法实现和结果分析,可作为电力电子与电能质量治理领域的实践指导。

amy_mhd的博客 167

10分钟搞定manim安装与vscode配置

manim安装与vscode配置

帅帅de三叔 3413

ActiveMQ集群模式

ActiveMq介绍并搭建集群模式

m0_62946761的博客 7926

RK3568适配MIPI屏幕触摸,触摸延时很大

我用的是系统,接了一个,设备树已经正确配置,evtest测试坐标值和触摸位置都是准确的。但是出现了一个:我在屏幕上点一下,要等大约 2 秒才能在evtest里看到坐标事件打印。这种现象在 Goodix 系列触摸驱动里比较少见,一般意味着。

小灰灰的博客 1364

ActiveMQ介绍及linux下安装ActiveMQ

ActiveMQ介绍概述ActiveMQ是软件基金下的一个开源软件,它遵循JMS1.1规范(Java Message Service),是消息队列服务,是面向消息中间件(MOM)的最终实现,它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。架构在ActiveMQ中,生产者(Producer)发送消息到Queue或者Topic中,消费者(consumer)通过ActiveMQ支持的传输协议连接到ActiveMQ接受消息并做处理。生产者(Producer):消息的生产者。

weixin_39941298的博客 2155

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

消息队列工具 ActiveMQ

消息队列工具 ActiveMQ 1 、简介 同类产品: RabbitMQ 、 Kafka、Redis(List) 1.1 对比RabbitMQ 最接近的同类型产品,经常拿来比较,性能伯仲之间,基本上可以互相替代。最主要区别是二者的协议不同RabbitMQ的协议是AMQP(Advanced Message Queueing Protoco),而ActiveMQ使用的是JMS(Java Messaging Service )协议。顾名思义JMS是针对Java体系的传输协议,队列两端必须有JVM,所以如果开发环

一叶之秋的博客 929

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java activemq 集群_消息队列--ActiveMQ集群部署

一、activeMQ主要的部署方式?1,默认的单机部署(kahadb)activeMQ默认的存储单机模式,如果配置文件不做修改,则默认使用此模式。以本地的kahadb文件的方式进行存储,性能完全依赖本地磁盘,不能提供高可用。2,基于zookeeper主从模式(levelDB Master/Slave)基于zookeeper来选举一个master,其他节点作为slave实时同步消息,levelDB会...

weixin_42620913的博客 623

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

activemq安装与配置_ActiveMq集群搭建

一、简介ActiveMq是由Apache旗下一款开源,流行且强悍的消息中间件。它是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现,ActiveMq非常快速并支持多种语言的客户端和协议,可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。目前公司项目使用过ActiveMq单机环境,现在考虑搭一套集群环境避免因一些网络或其他原因引起的单点故障,从而造成主系统不可用。随...

weixin_39838231的博客 881

ActiveMQ消息队列的配置和使用操作

ActiveMQ消息队列的配置和使用操作

铭记: 2481

ActiveMQ 集群搭建与高可用方案设计(二)

Master-Slave 架构、Broker 网络集群配置、负载均衡与故障转移机制。

1352

ActiveMQ集群

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

weixin_30449239的博客 462
上一篇: ActiveMQ消息队列的单机使用及应用(一)
下一篇: Java应用Tomcat执行过程之性能调优
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值