MQ
文章平均质量分 75
你走吧起风了__
孤独本是常态,逢人何必言深。
展开
-
ActiveMQ高级特性之死信队列
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。出现以下情况时,消息会被redeliveredA transacted session is used and rollback() is called(使用一个事务session,并且调用了rollback()方法). A transacted session is closed before commit is called(一个事务session,关闭之前调用了commit). A session...原创 2021-03-24 18:30:35 · 554 阅读 · 0 评论 -
activeMQ高级特性之消费重试机制
activeMQ中的消息重发,指的是消息可以被broker重新分派给消费者,不一定的之前的消费者。重发消息之后,消费者可以重新消费。消息重发的情况有以下几种。 1.事务会话中,当还未进行session.commit()时,进行session.rollback(),那么所有还没commit的消息都会进行重发。 2.使用客户端手动确认的方式时,还未进行确认并且执行Session.recover(),那么所有还没acknowledge的消息都会进行重发。 3.所有未ack的消息,当原创 2021-03-24 16:49:37 · 533 阅读 · 0 评论 -
activeMQ高级特性之延时投递与定时投递
5.4版的ActiveMQ在ActiveMQ消息代理中内置了一个可选的持久性调度程序。通过在“ Xml配置”中将broker schedulerSupport属性设置为true 可以启用此功能。ActiveMQ客户端可以通过使用以下消息属性来利用延迟传递。先在 activemq.xml 中配置 schedulerSupport 属性为 true<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localho原创 2021-03-24 16:25:49 · 462 阅读 · 0 评论 -
activeMQ高级特性之异步投递与确认签收回调
异步投递与确认签收回调ActiveMQ 支持同步、异步两种发送的模式将消息发送到 broker,模式的选择对发送延时有巨大的影响。producer 能达到怎样的产出率(产出率 = 发送数据总量/时间)主要受发送延时的影响,使用异步发送可以显著的提高发送的性能。 ActiveMQ 默认使用异步发送的模式:除非明确指定使用同步发送的方式或者在未使用事务的前提下发送持久化的消息,这两种情况都是同步发送的。 如果你没有使用事务且发送的是持久化的消息,每一次发送都是同步发送的且会阻塞 prod...原创 2021-03-24 16:21:43 · 715 阅读 · 0 评论 -
ActiveMQ的高可用性实现
一,ActiveMQ高可用性的架构ActiveMQ的高可用性架构是基于Master/Slave 模型的。ActiveMQ总共提供了四种配置方案来配置HA,其中Shared Nothing Master/Slave 在5.8版本之后不再使用了,并在ActiveMQ5.9版本中引入了基于Zookeeper的Replicated LevelDB Store HA方案。官网提示:(其实官方推荐还是使用当前activeMQ内嵌的KahaDB数据库。)二,Master/Slave架构的配置解释.原创 2021-03-24 15:15:12 · 501 阅读 · 0 评论 -
ActiveMQ消息持久化【存储】策略
消息持久化存储消息持久化,对于可靠消息传递来说是一种比较好的方法,即使发送者和接收者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重启后仍然可以将消息发送出去。消息持久性的原理很简单,就是在发送消息出去后,消息中心首先将消息存储在本地文件、内存或者远程数据库,然后把消息发送给接收者,发送成功后再把消息从存储中删除,失败则继续尝试。接下来我们来了解一下,消息在broker上的持久化存储实现方式:ActiveMQ消息持久化存储支持类型Acti...原创 2021-03-24 13:05:19 · 156 阅读 · 0 评论 -
学习笔记:ActiveMQ的传输协议
ActiveMQ的传输协议ActiveMQ支持的网络协议不同的配置,MQ性能是不一样的官网拜读:https://activemq.apache.org/connectivity(1)Transmission Control Protocol(TCP)-- 默认1 .这是默认的Broker配置,TCP的Client监听端口616162.在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流。2、默认情况下ActiveMQ把wi..原创 2021-03-23 17:13:55 · 143 阅读 · 0 评论 -
SpringBoot整合ActiveMQ
1、步骤1、新建maven工程并设置包名类名2.pom.xml3.application.yml4.配置Bean5.Queue_Produce6.主启动类7.测试单元1.1、pom.xml 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc原创 2021-03-23 16:58:38 · 82 阅读 · 0 评论 -
SpringBoot整合ActiveMQ(入门)
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。消息形式支持点对点和订阅-发布。ActiveMQ是什么?ActiveMQ是消息队列技术,为解决高并发问题而生 ActiveMQ生产者消费者模型(生产者和消费者可以跨平台、跨系统) ActiveMQ支持如下两种消息传输方式点对点模式,生产者生产了一个消息,只能由一个消费者进行消费 发布/订阅模式,生产者生产了一个消息,可以由多个消.原创 2021-03-23 12:00:24 · 798 阅读 · 2 评论 -
Spring整合ActiveMQ(topic 详细配置步骤)
首先和大家一起回顾一下JMS服务:消息服务:一个中间件,用于解决两个活多个程序之间的耦合,底层由Java 实现。 优势:异步、可靠 消息模型:点对点,发布/订阅 JMS中的对象事前说明: 这里和大家讲解一下这个配置文件,如果大家能够从上述配置文件中看懂,可以跳过。同学们也可以在ActiveMQ官网中的查看。 ActiveMq 中的DTD,我们在声明相关配置之前,我们需要先导入ActiveMq 中的DTD,不然Spring 并不理解我们的标签是什么意思。 ...原创 2021-03-22 17:14:07 · 1266 阅读 · 0 评论 -
ActiveMQ----->如何保证消息可靠性
一 持久化1.1 API设置java默认是持久化的1.2 Topic持久化默认情况下,topic发布时,如果订阅者不在线。消息就会丢失但我们可以用持久化Topic来解决这个问题。先启动订阅在启动生产生产者package com.ww.activemqdemo.consumer;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/** * @C.原创 2021-03-22 14:50:25 · 588 阅读 · 1 评论 -
ActiveMQ--JMS、消息的组成
什么是Java EE?JavaEE是一套使用Java进行企业级应用开发的、大家一致遵守的13个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业级应用程序。JDBC(Java Database)数据库连接 JNDI(Java Naming and Directory)Java的命名和目录接口 EJB(Enterprise JavaBean) RMI(Remote Method Invoke)远程方法调用 Java IDL(Interface Desc原创 2021-03-22 11:32:20 · 225 阅读 · 0 评论 -
ActiveMQ的Queue与Topic区别
队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型: 1、点对点(point-to-point,简称PTP)Queue消息传递模型: 通过该消息传递模型,一个应用程序(即消息生产者)可以向另外一个应用程序(即消息消费者)发送消息。在此传递模型中,消息目的地类型是队列(即Destination接口实现类实例由Session接口实现类实例通过调用其createQueue方法并传入队列名称而创建)。 消息首先被传送至消息服务器端特定的队列中,然后从此对列...原创 2021-03-22 10:21:59 · 590 阅读 · 0 评论