Kafka-消息不丢失

  1. 生产者发送消息到Brocker时丢失

解决方案:

① 设置异步发送消息

② 设置消息重试

  1. 消息在Brocker中存储丢失

解决方案: 设置发送送确认机制acks

|------------|-------------------------------------------|
| 确认机制 | 说明 |
| acks=0 | 生产者在成功写入消息之前不会等待任何来自服务器的响应,消息有丢失的风险,但是速度快 |
| acks=1(默认) | 只要集群首领节点收到消息,生产者就会收到一个来自服务器的成功响应 |
| acks=all | 只有当所有参与赋值的节点全部收到消息时,生产者才会收到一个来自服务器的成功响应 |

  1. 消费者从Brocker接收消息丢失

Kafka中的分区机制指的是将每隔主题划分成多个分区(Partition)。

topic分区中消息只能由消费者组中的唯一一个消费者处理,不同的分区分配给同组内的不同的消费者。

消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次。如果出现重平衡现象,可能出现重复消费或丢失数据。重平衡:某一个消费者服务宕机,但是其实际消费的消息和已经提交的偏移量不一致。

解决方案:禁用自动提交偏移量,改为手动。可以同步提交、异步提交、同步异步配合使用。

相关推荐
lifallen2 小时前
Kafka Rebalance机制全解析
分布式·kafka
兮动人5 小时前
Linux下安装Kafka 3.9.1
linux·运维·kafka·linux下安装kafka
koping_wu6 小时前
【分布式】分布式ID生成方案、接口幂等、一致性哈希
分布式·算法·哈希算法
柳贯一(逆流河版)6 小时前
Seata 深度解析:微服务分布式事务管理的实践指南
分布式·微服务·架构
编啊编程啊程6 小时前
Netty从0到1系列之RPC通信
java·spring boot·rpc·kafka·dubbo·nio
不辞远_嵌入式9 小时前
分布式机器人多机协同巡检系统设计
分布式·机器人·无人机
菠菠萝宝11 小时前
【Java八股文】13-中间件面试篇
java·docker·kafka·rabbitmq·canal·rocketmq·es
一氧化二氢.h14 小时前
Kafka的核心概念
分布式·kafka
多多*16 小时前
linux安装hbase(完)
java·分布式·算法·c#·wpf