Kafka-消息不丢失

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

解决方案:

① 设置异步发送消息

② 设置消息重试

  1. 消息在Brocker中存储丢失

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

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

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

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

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

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

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

相关推荐
隐擎fox8 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
闲云自留地14 小时前
云平台存储管理员:Cinder 创建挂载卷 + Swift 分布式存储原理
分布式·wpf·swift
橙子圆12318 小时前
RabbitMQ知识1
分布式·rabbitmq
(Charon)19 小时前
【Kafka】消息队列学习(一):为什么需要Kafka?从消息队列到整体架构
学习·架构·kafka
clz131452119 小时前
风险特征系统 EPC 子系统:基于 Kafka 数据源与数据集配置的 Flink 指标清洗加工
分布式·flink·kafka
富士康质检员张全蛋20 小时前
Kafka实战 生产阶段 消费阶段的拦截器
kafka
海上小飞龙21 小时前
分布式和微服务,一次讲清
分布式·微服务·架构
clz131452121 小时前
用 Akka Actor 模拟消费 Kafka 加工处理并发送到 Flink Out Kafka 的完整示例
flink·kafka·linq
(Charon)1 天前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
陈皮波比茶2 天前
分布式任务调度xxl-job
java·分布式