- 2024-11-05RocketMQ实现优惠券秒杀
秒杀架构图准备数据库SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforgoods------------------------------DROPTABLEIFEXISTS`goods`;CREATETABLE`goods`(`id`int(11)NOTNULLAUTO_INCREMENT,
- 2024-11-04如何选择最适合的消息队列?详解 Kafka、RocketMQ、RabbitMQ 的使用场景
引言在日常开发中,消息队列已经成为业务场景中几乎不可或缺的一部分。无论是订单系统、日志收集、分布式事务,还是大数据实时流处理,消息队列都在支撑着这些关键环节。目前市面上常用的消息队列有三种(ActiveMQ虽然在企业集成中仍有应用,但由于性能和扩展性在高并发、大数据量
- 2024-11-01RocketMQ学习笔记(已完结)
RocketMQ简介RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营
- 2024-10-29【RocketMQ】消息的发送过程之 Broker 故障延迟或者容错机制
1 前言上节我们主要看了下消息生产者的启动以及消息的发送过程,内容比较多,篇幅比较长,有一些细节没看到,比如Broker的故障延迟机制,所以这节我们就单独来看一下这块内容。还有我们要知道的是,这个机制默认是关闭的://ClientConfig/***开启消息发送的客户端容错机制*Ena
- 2024-10-29阿里云消息团队创新论文被软件工程顶会 FM 2024 录用
近日,由阿里云消息队列团队发表的关于RocketMQ锁性能优化论文被CCF-A类软件工程顶级会议FM2024录用。FM2024是由欧洲形式化方法协会(FME)组织的第24届国际研讨会,会议汇聚了来自各国的形式化研究学者,是形式化方法领域的顶级会议。FM2021强调形式化方法在广泛领域的开发
- 2024-10-26【RocketMQ】路由中心 NameServer
1 前言上节我们准备了源码以及环境的运行,其中我们启动的时候,会首先启动NameServer,那么这节我们先看下组件 NameServer,看看它主要是干什么的,在整个生产消费的链路中充当了什么角色,发挥着什么作用。2 NameServerRocketMQ路由管理、服务注册及服务发现的机制,NameServer
- 2024-10-26【RocketMQ】源码以及环境搭建
1 前言本节我们开始看一下RocketMQ相关的东西,我们主要看一条链路,大致如下:(1)环境的搭建,源码的下载(2)消息的结构以及相关类可能也会看下消息的存储(3)消息的生产以及发送过程(4)消息的消费过程大概看着四方面的内容,本节主要看下源码的下载以及环境的搭建。在看之前,我们顺便回
- 2024-10-25RocketMQ 消息堆积了怎么解决
目录引言消息堆积的原因RocketMQ的基本架构解决消息堆积的方法4.1扩大消费者规模4.2调整消息优先级4.3优化消费逻辑4.4消息重试与死信队列4.5监控与报警机制实现解决堆积的步骤5.1扩大消费者规模的配置5.2调整消息优先级的配置5.3优化消费逻辑的示例5.4
- 2024-10-23手把手Linux安装RocketMQ教程
手把手Linux安装RocketMQ教程1.下载rocketmq安装包2.创建目录并将压缩包上传至服务器3.配置RocketMQ4.启动RocketMQ5.关闭RocketMQ6.测试RocketMQ7.mqadmin查看服务状态8.配置启动脚本1.namesrv脚本2.broker脚本3.单脚本启动4.单脚本停止待完善1.开启自启动配置2.安装ro
- 2024-10-23浅析RocketMQ
SpringBoot引入RocketMQ快速构建单机RocketMQhttps://www.haveyb.com/article/3079参考这篇文章,快速构建单机RocketMQ项目引入jar包和配置<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter&
- 2024-10-23最新 Seata 集成了RocketMQ事务消息,Seata 越来越 牛X 了! yyds !
文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪
- 2024-10-22RocketMQ - 总结
1.为什么要使用MQ,使用场景是什么异步:减少请求响应时间,实现非核心流程异步化(架构设计原则,能异步就不要同步)解耦:屏蔽异构平台的细节,生产者消费者可自行扩展修改系统能力只需遵循消息约束,生产者消费者不受对方影响流量削峰:消息堆积能力,消息保存在MQ中,消费端以稳定的速率拉
- 2024-10-21Java消息队列入门详解
什么是消息队列?消息队列的产生主要是为了解决系统间的异步解耦与确保最终一致性。在实际应用场景中,往往存在一些主流程操作和辅助流程操作,其中主流程需要快速响应用户请求,而辅助流程可能涉及复杂的处理逻辑或者依赖于外部服务。通过将这些辅助流程的消息放入消息队列,使得它们可
- 2024-10-21Java消息队列详解
消息队列的作用及原理消息队列产生主要是为了解决系统间的异步解耦与确保数据最终一致性问题。通过将主流程与辅助流程分离,使得辅助任务可以并行处理,不仅提高了系统的响应速度,还增强了其可扩展性和稳定性。此外,消息队列机制保证了每条消息至少被消费一次,从而确保了业务逻辑的
- 2024-10-20Spring Boot 整合 RocketMQ 之事务消息
前言:上一篇我们分享了RocketMQ完成顺序消息发送的案例,本篇我们来分享一下RocketMQ事务消息的使用。RocketMQ系列文章传送门RocketMQ的介绍及核心概念讲解SpringBoot整合RocketMQ之普通消息SpringBoot整合RocketMQ之定时/延时消息SpringBoot整合Rocke
- 2024-10-15RocketMq详解:五、SpringBoot+Aop实现RocketMq的幂等
上一章:《RocketMq详解:四、RocketMq消息的重试》文章目录1什么是幂等2需要进行消息幂等的场景3.如何才能实现消息幂等呢4.RocketMQ场景下如何处理消息幂等4.1消费端常见的幂等操作1.使用唯一标识符2.Redis处理标志位3.分布式锁3.1数据库乐观锁3.2数据库悲观锁3.3Re
- 2024-10-15简单说说 RocketMQ的消费原理
消费方式并发消费:一个消费者队列中的消息可以同时被消费者的多个线程并发消费顺序消费:一个消费队列中的消息同一时间只能被一个消费者的一个线程消费消费流程消费流程主要分为以下几个步骤:队列分配、拉取消息、消息处理队列分配队列分配目的:指定消费者负责的队列集合,默
- 2024-10-14rocketMq单机源码安装,并测试发布订阅
下载地址https://rocketmq.apache.org/download解压之后,进入bin目录1:启动mqnamesrvwin:.\mqnamesrv.cmdlinux:mqnamesrv2:启动brokerwin:.\mqbroker.cmd-n127.0.0.1:9876autoCreateTopicEnable=truelinux:mqbroker-n127.0.0.1:9876autoCreateTopicEnable=true
- 2024-10-14rocketMQ中事务发送消息
rocketMQ中有关事务的发送消息方式,写的一个demo1、在MyProducer类中的方法,即先定义调用@ComponentpublicclassMyProducer{@AutowiredprivateRocketMQTemplatetemplate;publicvoidsendTractionMessage(Stringtopic,Stringmsg)throwsInterruptedExcepti
- 2024-10-14rocketMQ发送消息demo
在发送之前,需要先搭建好rocketMQ之后便是创建两个springboot工程,一个是生产中producer生产者、另外一个是consumer消费者一、生产者创建步骤:1、通过idea创建一个springboot工程,在创建工程的时候,添加spring-boot-starter-web依赖即可2、在pom.xml文件中添加rocketMQ相关依赖,注
- 2024-10-12rocketMQ单机部署到Linux上
主要包括几个步骤:1、上传zip包到Linux;2、在环境变量中配置rocketMQ信息;3、修改mq相关配置;4、启动服务一、下载zip包并且上传到Linux因为rocketMQ运行是需要java环境的,所以也需要下载jdk,总共需要两个文件,一个是jdk1.8,一个是rocketMQ4.7,注意版本对应jdk-8u191-linux-x64.tar.gz
- 2024-10-11消息队列详细介绍、工作原理,kafka与RocketMQ的比对
消息队列:当一个服务处理量为100,而另一个服务发送量为200,这时候多余的消息会被丢弃,如果想要全部处理,我们必须加入队列,这个队列用来存储消息的信息,通过offset表示当前处理的位置。注意此时队列还位于进程中,也就是服务进程,我们的进程一旦挂掉,未被处理的消息会直接丢失,我们不希望
- 2024-10-06RocketMQ 必知概念
延迟消息延迟等级官方默认设置了18哥延迟等级1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h发送延迟消息:按照默认顺序1-18数字就对应上面的延迟时间Messagemsg=newMessage(TOPIC,TAG,"OrderID199","ok",getBytes(StandardCharsets.UTF_8));//
- 2024-09-30掌握RocketMQ消息中间件——基本概念和系统架构篇
简述RcoketMQ概念:RocketMQ是一个开源的分布式消息中间件,由阿里巴巴开发并贡献给Apache软件基金会。它用于处理高吞吐量、低延迟的消息传递,并广泛应用于现代分布式系统中。1 基本概念1.1消息 (Message) 概念:消息是信息传递的物理载体,生产和消费数据的最小单位,
- 2024-09-28关于RocketMQ的顺序消息
在RocketMQ中,实现顺序消息的确需要一些特定的配置和注意事项。1.**OrderProducerBean**:使用OrderProducerBean可以保证消息的顺序发送。它会将消息发送到同一个队列中,从而保证顺序。然而,确保顺序的前提是所有相关的消息都应该使用相同的键(key)进行发送,以确保它们被路