当前位置:首页 > 科技  > 软件

什么?你告诉我 Kafka 会丢消息?

来源: 责编: 时间:2024-04-09 17:23:39 296观看
导读Kafka 会丢失信息吗?许多开发人员普遍认为,Kafka 的设计本身就能保证不会丢失消息。然而,Kafka 架构和配置的细微差别会导致消息的丢失。我们需要了解它如何以及何时可能丢失消息,并防止此类情况的发生。下图显示了消息在

Kafka 会丢失信息吗?DeD28资讯网——每日最新资讯28at.com

许多开发人员普遍认为,Kafka 的设计本身就能保证不会丢失消息。然而,Kafka 架构和配置的细微差别会导致消息的丢失。我们需要了解它如何以及何时可能丢失消息,并防止此类情况的发生。DeD28资讯网——每日最新资讯28at.com

下图显示了消息在 Kafka 的生命周期中可能丢失的场景。DeD28资讯网——每日最新资讯28at.com

图片图片DeD28资讯网——每日最新资讯28at.com

01 生产者(Producer)

当我们调用 producer.send() 发送消息时,消息不会直接发送到代理。DeD28资讯网——每日最新资讯28at.com

消息发送过程涉及两个线程和一个队列:DeD28资讯网——每日最新资讯28at.com

  1. 应用程序线程
  2. 消息累加器
  3. 发送线程(I/O 线程)

我们需要为生产者配置适当的 "acks "和 "retries",以确保消息被发送到代理。DeD28资讯网——每日最新资讯28at.com

02 消息代理(Broker)

当代理集群正常运行时,它不应该丢失消息。但是,我们需要了解哪些极端情况可能会导致消息丢失:DeD28资讯网——每日最新资讯28at.com

  1. 为了提高 I/O 吞吐量,消息通常会异步刷到磁盘上,因此如果实例在刷新之前宕机,消息就会丢失。
  2. Kafka 集群中的副本需要正确配置,以保持数据的有效副本。数据同步的确定性非常重要。

03 消费者(Consumer)

Kafka 提供了不同的提交消息的方式。自动提交可能会在实际处理记录之前确认对记录的处理。当消费者在处理过程中宕机时,有些记录可能永远不会被处理。DeD28资讯网——每日最新资讯28at.com

一个好的做法是将同步提交和异步提交结合起来,在处理消息的循环中使用异步提交以提高吞吐量,在异常处理中使用同步提交以确保最后的偏移始终被提交。DeD28资讯网——每日最新资讯28at.com

下图是这个方法的伪代码:DeD28资讯网——每日最新资讯28at.com

try {    while (true) {    ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(1000));    for (ConsumerRecord<String, String> record : records) {        // process records one by one    }    consumer.commitAsync();    }} catch (Exception e){    // exception handling } finally {    try {        consumer.commitSync();    } finally {        consumer.close();    }      }


DeD28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82370-0.html什么?你告诉我 Kafka 会丢消息?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 配置Nginx访问阿里云OSS资源踩坑之路

下一篇: 我们一起聊聊如何使用Spring Boot 3 和 Redis 实现实时智能客服系统

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
Top