大家好,我是三友~~这篇文章我准备来聊一聊RocketMQ消息的一生。不知你是否跟我一样,在使用RocketMQ的时候也有很多的疑惑:消息是如何发送的,队列是如何选择的?消息是如何存储的,是如何保证读写的高性能?RocketMQ是如何实现消息的快速查找的?RocketMQ是如何实现高可用的?消息是在
引言在做MQ技术选型的时候,Kafka和RocketMQ是常用的两个消息队列中间件,今天就从架构设计、性能分析、使用场景来比较一下两者的区别,到底该使用哪个MQ?Kafka最初由LinkedIn开发,后来成为Apache的一个顶级项目,它设计之初就是为处理大规模数据而生,特别擅长于高吞吐量的场景。K
作为一个程序员,假设你有 A、B 两个服务,A 服务发出消息后,不想让 B 服务立马处理到。而是要过半小时才让 B 服务处理到,该怎么实现?这类延迟处理消息的场景非常常见,举个例子,比如我每天早上到公司后都会点个外卖,我希望外卖能在中午送过来,而不是立马送过来,这就需要将外卖消息经过延时后,再投递到
2018 年,做为架构负责人,接到一个架构需求:实现一个简单易用的 RocketMQ SDK 。因为各个团队 RocketMQ 原生客户端配置起来千奇百怪,有的配置存在风险,各团队负责人都需要一个简洁易用的 RocketMQ SDK 。我立马调研相关开源的方案,当时 RocketMQ-Spring
导读:为什么在“双11”抢红包活动及大型数据系统中总是出现 RocketMQ 的身影? RocketMQ Connect在RocketMQ生态中扮演什么角色?本文根据Apache RocketMQ Committer周波的演讲整理,为大家解决上述疑问。同时,介绍 OceanBase 与 Rocket
作者:林清山(隆基) 前言: 从初代开源消息队列崛起,到 PC 互联网、移动互联网爆发式发展,再到如今 IoT、云计算、云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头。 目前,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。随着数字化转型的深入,客户在使用消息技术的过
作者:林清山(隆基) 前言: 从初代开源消息队列崛起,到 PC 互联网、移动互联网爆发式发展,再到如今 IoT、云计算、云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头。 目前,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。随着数字化转型的深入,客户在使用消息技术的
大家好,我是三友~~RocketMQ作为阿里开源的消息中间件,深受广大开发者的喜爱而这其中一个很重要原因就是,它处理消息和拉取消息的速度非常快那么,问题来了,RocketMQ为什么这么快呢?接下来,我将从以下10个方面来探讨一下RocketMQ这么快的背后原因图片如果你对RocketMQ还不了解,可
在Docker中安装RocketMQ的过程如下所示: 创建Docker网络: 在终端中执行以下命令来创建Docker网络,以便在容器之间进行通信: docker network create rocketmq-network 下载RocketMQ镜像: 在终端中执行以下命令来下
SkyWalking 10.0 引入了新的 RocketMQ 监控面板,本文将演示该监控面板的使用。 By 邵一鸣 | Thursday, February 29, 2024 背景介绍 Apache RocketMQ 是一个开源的低延迟、高并发、高可用、高可靠的分布式消息中间件, 从SkyWalki
前言项目中需要调研RocketMQ的一些功能特性和使用,于是尝试通过与ChatGPT对话的形式来达到这一目的。这篇文章是与ChatGPT对话,获得在RocketMQ中Topic与Queue的使用区别?以及它们在RocketMQ中的一些特性。通过这篇文章,大家不仅可以学习到「RocketMQ中Topi
一、背景RocketMQ无论采用Master/Slave的主从模式,还是采用Dledger的多副本模式,均能保证RocketMQ集群的高可用性,但在一些极端场景下,例如机房断电、机房火灾、地震等不可抗拒因素使得该IDC可用区的RocketMQ集群无法正常对外提供消息服务能力。因此,为了增强抗风险能力
使用事务消息在DailyMart系统中,用户发起支付后,订单系统需要调用库存服务执行库存扣减逻辑。由于这是跨服务调用,因此会产生分布式事务。在这里,我们使用RocketMQ的事务消息来实现分布式事务。1、首先,在订单服务的应用服务层处理支付逻辑,并调用RocketMQ发送事务消息:@Override
作者:斜阳 RocketMQ 5.0 提出了分级存储的新方案,经过数个版本的深度打磨,RocketMQ 的分级存储日渐成熟,并成为降低存储成本的重要特性之一。事实上,几乎所有涉及到存储的产品都会尝试转冷降本,如何针对消息队列的业务场景去做一些有挑战的技术优化, 是非常有意思的事。 这篇文章就跟大家探
1、问题现象先说明下RocketMQ版本, 4.6.0的老版本了。线下环境客户端启动会频繁报错响应超时,导致consumer实例化失败,无法启动应用。图片2、排查确认线下环境RocketMQ集群流量、生产消费数量无异常。集群gc次数不多,但是耗时高。(原本监控看板异常数据缺失,所以少了前面一段)图片
作者:苏昌盛 消息系统中随机索引的特点 RocketMQ 广泛使用于各类业务场景中,在实际生产场景中,用户通常会选择消息 ID 或者特定的业务 Key(例如学号,订单号)来查询和定位特定的一批消息,进而定位分布式系统中的复杂问题。传统方案下,消息索引的存储是基于数据库系统或者基于本地文件系统实现的,
云原生架构 在技术视角下,云原生架构是由一系列针对云原生技术的设计原则和模式构成,其主要目标是在云应用中去除最大限度的非业务代码部分,从而将这些非功能性特性(比如弹性、韧性、安全性、可观察性、灰度等)交由云基础设施来管理。这不仅消除了非功能性业务中断的问题,而且为业务赋予了轻量化、灵活性以及高度自动
RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。一、架构的思考过程首先,在记框架的原理和架构时,要先把握全局的脉络
延迟消息一般用于:提前发送消息,延迟一段时间后才需要被处理的场景。比如:下单半小时后还未支付,则取消订单 释放库存 等。RocketMQ的延迟消息使用上非常便捷,但是不支持任意时间的延迟,这一点对于有强迫症的朋友来说就比较难受,但是搞明白为什么这么设计后,就自然释怀了。为什么RocketMQ不支持任
事务消息是RocketMQ的一个非常特色的高级特性,它的基础诉求是通过RocketMQ的事务机制,来保证上下游的数据⼀致性。我们在单机版本下面只需要在业务方法上加上对应的事务就可以达到效果,但是分布式的场景下,多个系统之间的协调配合,你无法知道到底是那个先执行那个后执行,当然在微服务里面存在Seat