![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
中间件
文章平均质量分 52
中间件
L.2626
仅记录我的学习,注明出处按需转载
展开
-
RabbitMQ如何确保消息发送 ? 消息接收?
如果在发送或者接收过程中出现异常情况,RabbitMQ也提供了一些机制来处理异常,保证消息不丢失,并且确保消息被正确地发送和处理。在消费者消费消息时,RabbitMQ需要确保消息已经成功被消费者处理。消费者可以通过发送ACK确认消息已经被处理,或者NACK通知RabbitMQ消息处理失败,RabbitMQ会根据消费者的确认来决定是否删除消息或者重新投递消息。RabbitMQ也支持事务机制,Producer可以在发送消息前启动一个事务,并在发送消息后提交事务,以确保消息被正确发送到RabbitMQ中。原创 2024-06-06 16:04:26 · 427 阅读 · 0 评论 -
简述RabbitMQ的架构设计
总体来说,RabbitMQ的架构设计遵循了消息生产者、消息路由、消息存储和消息消费的基本原则,通过Producer、Exchange、Queue、Binding和Consumer等核心组件相互协作,实现了可靠的消息传递和处理机制。Exchange是消息路由的核心组件,负责接收来自Producer发送的消息,并将消息路由到特定的Queue(队列)中。多个Queue可以绑定到同一个Exchange,Exchange会根据消息的Routing Key和Exchange Type将消息发送到对应的Queue中。原创 2024-06-06 14:34:20 · 292 阅读 · 0 评论 -
消息中间件如何进⾏产品选型?(Kafka, RabbitMQ,RocketMQ对比)
Kafka适合大数据处理和流式数据处理场景,RabbitMQ适合传统消息队列应用,而RocketMQ适合大规模数据通信和高可靠性消息传输需求。- RabbitMQ的架构相对更为灵活,支持多种消息模式(如点对点、订阅-发布),适用于不同的消息通信场景。- RocketMQ支持多租户、消息事务、顺序消息和广播模式等高级特性,适合处理复杂的消息通信需求。- RabbitMQ适用于传统的消息队列场景,提供强大的消息路由、消息确认和消息重试机制。- Kafka支持消息的多副本备份,保证数据的安全性和可靠性。原创 2024-06-06 14:21:48 · 449 阅读 · 0 评论 -
消息队列中间件 Kafka
3. 持久化存储:Kafka 使用日志(log)的方式来存储消息数据,每个分区的消息以追加写的方式存储在磁盘上,确保消息的持久性和高效读写。Kafka 的核心设计思想是基于日志(log)的架构,消息被记录在一个持久化的日志(称为 "topic")中,消费者按照不同的消费组订阅这些日志,并实时消费消息。5. 可靠性和容错性:Kafka 针对消息的可靠性和高可用性进行了设计,数据的副本机制和选举机制可以保证消息数据的高可靠性,同时具有一定的容错能力,即使部分 broker 节点出现故障也能继续提供服务。原创 2024-06-06 13:53:06 · 586 阅读 · 0 评论