文章 2024-09-25 来自:开发者社区

消息中间件-RocketMQ技术(二)

一、RocketMQ的设计目标 1、架构模式 RocketMQ是采用发布订阅模式,参与的组件:消息发送者,消息存储,消息消费者,路由发现。 2、顺序消息 在RocketMQ中主要指的是局部顺序,队列内是有顺序的。消费消息的顺序和存储到队列的顺序是一致的。 3、消息过滤 在消息消费时,消费者可以对同一主题下的消息按照规则只消费自己感兴趣的消息。支持在...

文章 2024-09-25 来自:开发者社区

消息中间件-RocketMQ技术(一)

一、为什么我要写RocketMQ呢? a、公司用的原因:因为刚到新的公司,后期我会结合公司的用到的情况,把涉 及到线上的关于RocketMQ的问题的经验分享大家。 b、自己也想买了一些书关于RocketMQ的书籍,到时总结出来写成文章。 c、听说以前叮咚买菜的公司的中间件是叮咚买菜的CTO用c语言写的,虽然性能挺强,但是好像不能够通用的原因,后期给pass了。现在...

消息中间件-RocketMQ技术(一)
文章 2024-07-03 来自:开发者社区

消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别

一、什么是消息中间件 面向消息的系统(消息中间件)是在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终...

消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
文章 2024-06-12 来自:开发者社区

【消息中间件】详解mq消息积压

1.产生原因 消息积压(Message Backlog)指的是在消息队列(MQ)系统中等待被处理的消息数量超过了正常的处理速度,导致消息在队列中积压堆积的情况。 消息积压的常见表现: 系统资源使用率上升:消息积压可能导致系统资源使用率上升,例如CPU利用率、内存占用、磁盘活动等。这是因为积压的消息需要占用系统资源来存储和管理。 消息丢失或过期:如果消...

【消息中间件】详解mq消息积压
文章 2024-06-12 来自:开发者社区

【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka

1.概述 1.1.MQ简介 消息中间件,其实准确的叫法应该叫消息队列(message queue),简称MQ。其本质上是个队列,有FIFO的性质,即first in first out,先入先出。 目前市场上主流的MQ有三款: RabbitMQ RocketMQ Kafka 1.2.MQ的应用场景 MQ一般...

【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
文章 2023-12-18 来自:开发者社区

消息中间件的选择:RabbitMQ是一个明智的选择

MQ(Message Queue)MQ(消息队列)是一种用于在应用程序之间进行异步通信的技术;允许应用程序通过发送和接收消息来进行解耦和协同工作消息生产者(Producer):负责创建和发送消息到消息队列中;它将消息发送到指定的队列或主题消息队列(Message Queue):是消息的缓冲区,用于存储生产者发送的消息;消息队列可以采用不同的模式,如点对点(Point-to-Point)和发布/订....

消息中间件的选择:RabbitMQ是一个明智的选择
文章 2023-11-07 来自:开发者社区

消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)

经典案例:以目前流行点外卖的案例,用户下单后,调用订单服务,让后订单服务调用派单系统通知送外卖人员送单,这时候订单系统与派单系统采用MQ异步通讯。RabbitMQ解决分布式事务原理: 采用最终一致性原理。根据最终一致性,按派单流程提出问题,解决分布式事务:1.怎么保证订单发送到了订单队列?答:采用确认机制,在生产者设置确认回调,如果不成功,则一直发送消息到消息队列。2.怎么保证消费者一定消费了队....

消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
文章 2023-11-07 来自:开发者社区

消息中间件系列教程(17) -RabbitMQ-死信队列

引言本文代码已上传至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-RabbitMQ-Demo.git死信队列听上去像 消息“死”了 ,其实也有点这个意思,我们也可以称他为“备胎队列”。死信队列是当消息在一个队列因为以下原因产生的:消息被拒绝(basic.reject或basic.nack)并且requeue=false....

消息中间件系列教程(17) -RabbitMQ-死信队列
文章 2023-11-07 来自:开发者社区

消息中间件系列教程(16) -RabbitMQ-应答模式

在前面的章节中,消费者都是自动应答的:《消息中间件系列教程(13) -RabbitMQ-SpringBoot集成RabbitMQ》《消息中间件系列教程(14) -RabbitMQ-自动补偿机制》《消息中间件系列教程(15) -RabbitMQ-基于全局消息ID解决幂等性问题》那么消费者可以手动应答吗?答案是可以的下面基于《消息中间件系列教程(13) -RabbitMQ-SpringBoot集成R....

消息中间件系列教程(16) -RabbitMQ-应答模式
文章 2023-11-07 来自:开发者社区

消息中间件系列教程(15) -RabbitMQ-基于全局消息ID解决幂等性问题

使用RabbitMQ的时候,同一个消息可能会被消费者多次消费,那么该如何解决呢?可以使用全局MessageID,解决幂等性的问题。基于《消息中间件系列教程(13) -RabbitMQ-SpringBoot集成RabbitMQ》的环境,下面直接上代码进行讲解:1.生产者,定义一个全局MessageID:@Component public class FanoutProducer { @Au...

消息中间件系列教程(15) -RabbitMQ-基于全局消息ID解决幂等性问题

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。