首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
mq专题
详解 MQ 消息队列
谈起消息队列,内心还是会有些波澜。 消息队列,缓存,分库分表是高并发解决方案三剑客,而消息队列是我最喜欢,也是思考最多的技术。 我想按照下面的四个阶段分享我与消息队列的故事,同时也是对我技术成长经历的回顾。 初识:ActiveMQ 进阶:Redis&RabbitMQ 升华:MetaQ 钟情:RocketMQ 1 初识ActiveMQ 1.1 异步&解耦 2011年初,我在一家
阅读更多...
尚品汇-MQ模块搭建测试、消息不丢失(重)(四十三)
目录: (1)消息不丢失 (2)消息确认 (3)消息确认业务封装 (4)封装发送端消息确认 (5)封装消息发送 (6)发送确认消息测试 (7)消息发送失败,设置重发机制 (1)消息不丢失 消息的不丢失,在MQ角度考虑,一般有三种途径: 1,生产者不丢数据 2,MQ服务器不丢数据 3,消费者不丢数据 保证消息不丢失有两种实现方式: 开启事务模式消息确认模式 说明:
阅读更多...
《ZigBee开发笔记》第五部分 外设篇 - 基础实验 第3章 A - CC2530 MQ-2气体传感器
1理论分析 MQ- 2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2 气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传
阅读更多...
MQ专题:延迟消息的通用方案
一、主要内容 本文将实现一个MQ延迟消息的通用方案。 方案不依赖于MQ中间件,依靠MySQL和DelayQueue解决,不管大家用的是什么MQ,具体是RocketMQ、RabbitMQ还是kafka,本文这个方案你都可以拿去直接使用,可以轻松实现任意时间的延迟消息投递。 二、涉及技术点 SpringBoot2.7MyBatisPlusMySQL线程池java中的延迟队列:DelayQueu
阅读更多...
Linux下的使用字符设备驱动框架编写ADC驱动 ——MQ-4传感器
ADC的原理 ADC 的作用:模拟信号转换为数字信号 模拟信号一般是指连续变化的电压信号,其数值在一定范围内变化。 而数字信号是由一系列离散的数字表示, 只能取有限的值,通常以二进制形式表示。 ADC通常由一个采样保持电路、一个比较器和一个计数器组成。 采样保持电路将输入的模拟电压保持在一个稳定的值, 比较器将这个稳定的值与一个参考电压进行比较, 计数器记录比较器的输出信号的次数。
阅读更多...
MQ的几种模式
MQ的几种模式: Producer消息产生者,红色队列,Customer消息消费者,蓝色交换机exchange 简单模式:消息产生者产生消息,消息的消费者进行消费工作模式:消息消费产生消息,将消息发送到消息队列中,这是竞争,消费者1和消费者2都监听消息队列,当队列中有消息,一起来抢消息。谁抢到谁处理。消息发布和订阅:消息产生者产生消息,将消息发送到交换机中。多个消息队列绑定到交换机上。交换机将
阅读更多...
优荐MQ
关于消息中间件有很多,来说说选用RabbitMQ的理由。查阅了很多资料,其中摘取了两篇供大家参考。 一、按照目前网络上的资料,RabbitMQ、activeM、zeroMQ三者中,综合来看,RabbitMQ是首选。 参考:http://blog.jobbole.com/103630/ 二、kafka和RabbitMQ的比较 两者对比后,我仍然是选择RabbitMq,性能其实
阅读更多...
mq_消费者
添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId></dependency> json包: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson<
阅读更多...
mq_生产者
添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactI
阅读更多...
MQ的优缺点及适用场景
MQ的优缺点及适用场景 1、MQ的优点2、MQ的缺点 💖The Begin💖点点关注,收藏不迷路💖 消息队列(MQ)在软件开发中扮演重要角色,带来解耦、异步、削峰等好处。然而,MQ的引入也伴随着一些缺点。 1、MQ的优点 系统解耦:MQ实现系统间的解耦,提高系统的灵活性和可维护性。异步处理:支持异步机制,提高系统的响应速度和吞吐量。削峰填谷:作为缓冲层,处
阅读更多...
消息队列MQ调研笔记 Kafka RabbitMQ Pulsar
功能 RabbitMQ Kafka Pulsar 备注 存储功能 不支持 支持 支持 特点 富Broker, 傻消费者 傻Broker, 富消费者 傻Broker, 富消费者 数据私有-Exclusive 不支持 不支持 支持 数据共享-Shared 支持 支持 支持 故障切换-Failover 不支持 支持 支持
阅读更多...
Rabbit mq 虚拟机stop无法重启
之前从后台进去,这个地方死活无法重启 然后重启docker 以及mq都不行 docker exec -it <CONTAINER_ID_OR_NAME> /bin/bash rabbitmqctl stop_app rabbitmqctl start_app 最后删除虚拟机,然后重建就行了 rabbitmqctl delete_vhost / rabbitmqctl add_v
阅读更多...
mq: 找不到或无法加载主类 Files\Java\jdk1.8.0_102\jre\lib\ext
错误:mq: 找不到或无法加载主类 Files\Java\jdk1.8.0_102\jre\lib\ext 原因:JAVA_HOME的环境变量包含空格 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131 解决方法:修改runserver.cmd和runbroker.cmd文件
阅读更多...
MQ| OpenMessaging 规范
OpenMessaging 规范解读 执照 0 概述 0.1 什么是OpenMessaging? OpenMessaging 是一种云原生、与供应商无关的分布式消息传递开放标准。 0.2 为什么选择OpenMessaging? 0.2.1 目标 消息传递产品已广泛应用于现代架构和数据处理,用于解耦、排队、缓冲、排序、复制等。但是,当数据跨不同的消息传递和流式传输平台传输时,就会出现兼容性问题,
阅读更多...
mq-fanout交换机
交换机 交换机是什么?步骤 交换机本身具备路由功能 消息先发到交换机,交换机在路由到队列,消费者监听队列拿到消息 广播模式是什么 是什么 例如:每个微服务创建队列,订单服务只启动1台,1个消费者,订单 怎么创建 创建一个队列 -交换机里type-选择模式(广播模式) 在交换机里绑定队列 可以在控制台发送消息也可以在java发消息 编写消息发送的代码 需要增加交换机
阅读更多...
mq-direct交换机
把消息分发给不同的人,不是所有人都收到 例如 已加入伙伴计划作者,发加入激励的消息,未加入伙伴计划的就发邀请的消息,不同的微服务发送不同的消息 交换机 direct交换机,要指定key,可以同时收到,可以定向收到 步骤 进行交换机绑定,增加key 消费者消息 消息发送了 全部消息 更换key的值,发送蓝色就只收到蓝色
阅读更多...
常用MQ消息中间件Kafka、ZeroMQ和RabbitMQ对比及RabbitMQ详解
1、概述 在现代的分布式系统和实时数据处理领域,消息中间件扮演着关键的角色,用于解决应用程序之间的通信和数据传递的挑战。在众多的消息中间件解决方案中,Kafka、ZeroMQ和RabbitMQ 是备受关注和广泛应用的代表性系统。它们各自具有独特的特点和优势,适用于不同的应用场景和需求。 Kafka 是一个高性能、可扩展的分布式消息队列系统,被设计用于处理大规模的数据流和实时数据传输。它
阅读更多...
什么是MQ、优势与劣势、应用场景及模式
目录 一、什么是MQ? 二、RabbitMQ的优势 三、RabbitMQ的劣势 四、RabbitMQ能解决的问题 五、什么时候用到RabbitMQ? 六、RabbitMQ的几种模式 消息队列(Message Queue,MQ)是一种跨进程通信的机制,通过消息传递使不同的应用程序能够相互通信。RabbitMQ是目前流行的开源
阅读更多...
主流MQ对比和选型
在以下几个我们比较关心的维度进行对比 ActiveMQ RabbitMQ RocketMQkafka官网https://activemq.apache.org/https://www.rabbitmq.com/https://rocketmq.apache.org/https://kafka.apache.org/githubhttps://github.com/apache/activem
阅读更多...
Java项目之消息队列(手写java模拟实现mq)【七、⽹络通信协议设计、消息队列服务器端实现、客户端实现】✔ ★
⼗⼀. ⽹络通信协议设计 定义 Request / Response /** 表示一个网络通信中的请求对象. 按照自定义协议的格式来展开的*/public class Request {private int type;private int length;private byte[] payload;public int getType() {return type;}pub
阅读更多...
使用消息队列(MQ)实现MySQL持久化存储与MySQL server has gone away问题解决
在现代应用程序开发中,消息队列(MQ)扮演着重要的角色。它们可以帮助我们解决异步通信和解耦系统组件之间的依赖关系。而其中一个常见的需求是将消息队列中的数据持久化到数据库中,以确保数据的安全性和可靠性。在本文中,我们将探讨如何使用MQ将消息持久化存储到MySQL数据库。 一、介绍消息队列(MQ)和MySQL数据库 首先,让我们简要了解消息队列和MySQL数据库的基本概念。 消息队列是一种允许应
阅读更多...
Rabbit MQ和Kafka的区别
RabbitMQ和Kafka是两种流行的消息队列系统,但它们设计理念、架构和使用场景有所不同。了解它们的区别可以帮助我们在不同的应用场景中做出更合适的选择。以下是RabbitMQ和Kafka在多个维度上的对比: 1. 设计理念和目标 RabbitMQ 消息传递(Message Queue): RabbitMQ的核心设计是作为消息中间件,专注于消息的可靠传递和复杂的路由。 消息路由: 提供丰富
阅读更多...
架构设计:系统间通信——MQ:消息协议
1、概述 从本文开始,我们介绍另一类型的系统间通讯及输:MQ消息队列。首先我们将讨论几种常用消息队列协议的基本原理和工作方式,包括MQTT、XMPP、Stomp、AMQP、OpenWire等。然后在这个基础上介绍两款MQ产品:ActiveMQ和RabbitMQ,它们是现在业务系统中应用广泛的消息队列软件。包括他们的安装、运行、支持协议、集群化和调用方式。 当然,在这个过程中我们还会提到其他的消
阅读更多...
关于MQ的几件小事(六)消息积压在消息队列里怎么办
1.大量消息在mq里积压了几个小时了还没解决 场景:几千万条数据在MQ里积压了七八个小时,从下午4点多,积压到了晚上很晚,10点多,11点多。线上故障了,这个时候要不然就是修复consumer的问题,让他恢复消费速度,然后傻傻的等待几个小时消费完毕。这个肯定不行。一个消费者一秒是1000条,一秒3个消费者是3000条,一分钟是18万条,1000多万条。 所以如果你积压了几百万到上千万的数据,即使
阅读更多...
关于MQ的几件小事(三)如何保证消息不重复消费
1.幂等性 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果
阅读更多...
关于MQ的几件小事(二)如何保证消息队列的高可用
1.RabbitMQ的高可用 RabbitMQ基于主从模式实现高可用。RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式。 (1)单机模式: 单机模式就是demo级别的,生产中不会有人使用。 (2)普通集群模式 普通集群模式就是在多台机器上启动多个rabbitmq实例,每个机器启动一个。但是创建的queue只会放在一个rabbitmq实例上面,但是其他的实例都同步了这个queue的
阅读更多...