当前位置: 首页 > news >正文

kafka和rocketmq的副本机制区别: isr 主从模式,Dledger模式

文章目录

    • 一. 源起
    • 二. 架构之间的区别
      • 1. kafka架构
      • 2. rocketmq架构
    • 三. 设计理念区别
    • 四. kafka的isr机制 (In-Sync Replicas 同步副本集合)
      • 4.1 实现流程
      • 4.2 动态isr
    • 五. rocketmq的主从机制
    • 六. rocketmq的Dledger机制
    • isr,主从,dledger机制对比总结

一. 源起

  大家都知道mq在消息防丢方面的,都是分成生产者同步发送,消费者ack以及broker在多个分片持久化完成。但是作为消息中间件的kafka和rocketmq的实现的具体过程是不同。(虽然整体都是master副本在等到slave副本持久化成功之后 再给生成者ack)。 下面从的架构设计和设计理念分析,各自具体的实现流程。

二. 架构之间的区别

1. kafka架构

在这里插入图片描述

注意 kafka的副本是partion级别, 由一个leader partion和多个follower partion组成。

2. rocketmq架构

在这里插入图片描述

 注意 rocketmq的master和slave都是broker级别的。

三. 设计理念区别

Kafka 是流平台:1. 核心抽象是分区日志流。消息(在Kafka里更常被称为“记录”)一旦被写入分区,其位置(偏移量)就是不可变的、有序的。2. 语义是“流处理”:消费者通过管理偏移量来跟踪处理进度。如果某条记录处理失败,标准的做法不是跳过它,而是停止前进,直到问题解决。因为跳过一条记录意味着数据流出现了缺口,会导致后续的状态计算(如聚合、连接)全部出错。保证数据的完整性和顺序性是流处理的生命线。RocketMQ/ActiveMQ/RabbitMQ 是消息中间件:1. 核心抽象是队列或主题。设计目标是为独立的、离散的“消息”提供可靠传递。2. 语义是“消息处理”:每条消息通常是独立的。一条消息的处理失败不应阻塞其他消息的处理。因此,将“坏消息”移走(到DLQ)以保持主流程畅通是一个非常合理的模式。

四. kafka的isr机制 (In-Sync Replicas 同步副本集合)

在这里插入图片描述

4.1 实现流程

1. 生产消息阶段: 生产者发送消息到leader副本。这里可以配置acks控制写入策略。 这里以acks =-1要等全部说明。
2. leader写入与follower复制:leader副本将数据写入本地log. follower副本异步的从leader副本复制数据。
3. 在所有的follower都完成数据复制的情况下,leader返回给生产者发送ack确认
acks选项含义适用场景
0不需要等任何确认非关键的业务活动日志, 实时监控表盘数据
1leader写入数据 直接响应ack业务日志, 业务通知类允许特别场景少量丢失热的业务
-1全部follower副本都完成数据复制,再响应ack金融交易、订单、支付、转账

4.2 动态isr

五. rocketmq的主从机制

六. rocketmq的Dledger机制

isr,主从,dledger机制对比总结

http://www.dtcms.com/a/410102.html

相关文章:

  • HTTP的持续与非持续连接,HTTP报文格式
  • 删除Notepad++关于弹窗的反动字样
  • angular2是做网站的还是手机的网站开发大概价格
  • 国内专业做悬赏的网站绵阳网站建设设计
  • 抗辐照MCU芯片在核工业水下探测耐辐照数字摄像机中的应用研究
  • 《测试视角下的软件工程:需求、开发模型与测试模型》
  • 电子证照系统国产化改造实践:从MongoDB到金仓数据库的平滑迁移与性能优化
  • 开源的容器化平台:Docker
  • 【Prompt学习技能树地图】思维链(CoT)提示技术工作原理、主要技术方法及实践应用
  • 谁有手机可以上的网站网站建设 部署与发布视频
  • 【足式机器人算法】#1 强化学习基础
  • Maven的概述/简介/安装/基本使用/IDE配置/依赖管理
  • 构建 maven:3.8.7-jdk17 镜像
  • maven install依赖后 另一个项目 maven reload找不到包
  • 北京做网站的网络公司新网站改关键词
  • SpringCloud 项目阶段十:kafka实现双端信息同步以及ElasticSearch容器搭建示例
  • 解析前端框架 Axios 的设计理念与源码:从零手写一个支持 HTTP/3 的“类 Axios”最小核
  • 共享ip服务器做网站小型创意电子产品设计
  • [Dify] 知识库架构介绍与使用场景概述
  • NFS 服务器iSCSI 服务器
  • 如何确保CMS系统能够快速响应用户请求?全面性能优化指南
  • 【202509新版】Hexo + GitHub Pages 免费部署个人博客|保姆级教程 第三部
  • 同时使用ReactUse 、 ahooks与性能优化
  • 跨境电商怎么做一件代发宁波关键词排名优化平台
  • FreeFusion:基于交叉重构学习的红外与可见光图像融合
  • GraphRAG对自然语言处理中深层语义分析的革命性影响与未来启示
  • 数据分析-60-工业时序数据分析之开关频次
  • C++入门基础知识157—【用一篇博文简单了解数据结构之红黑树】
  • 做网站课程报告阜阳网站建设哪家好
  • 吃透 Java 中的 break 与 continue