Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

回调方法中的参数Exception e如果为空

代表发送成功,如果不为空代表发送失败出现异常

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

leader负责读写,而follower只负责数据同步

broker确认机制

生产者向broker发送消息存在发送确认机制acks

acks=0,生产者不会等待broker响应
acks=1(默认),只要leader收到消息就会响应
acks=all,只有全部节点都收到消息,才会响应

消费者接受消息丢失

每一个分区只能由一个消费者进行消费,分区中根据偏移量记录消费的进度,按照偏移量进行消费

每个消费者会自动按时提交偏移量

如果在提交之前宕机,就有可能出现重复消费

如果在消费之前提交然后宕机,就有可能出现丢失数据的情况

解决方案

禁用自动提交偏移量,改为手动提交

可以使用同步提交,异步提交或者同步+异步的方式组合提交

相关推荐
芭比萌妹1 小时前
apisix的kafka-logger设置日志格式log_format,不支持单个路由设置
分布式·kafka
z***02601 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
回家路上绕了弯3 小时前
生产环境服务器变慢?从应急到根因的全流程诊断处理指南
分布式·后端
喵了几个咪7 小时前
Golang微服务框架Kratos应用分布式任务队列Machinery
分布式·微服务·golang
x***58707 小时前
后端分布式缓存一致性哈希,Java实现
分布式·缓存·哈希算法
2501_941144428 小时前
Java、C# 与 C++:编程语言的选择与应用场景分析
kafka
g***86698 小时前
RabbitMQ之交换机
分布式·rabbitmq·ruby
不会写代码的ys8 小时前
仿RabbitMQ实现消息队列(三)--muduo介绍与使用
linux·分布式·rabbitmq
一只会写代码的猫9 小时前
当分布式协同成为主流应用架构时系统可信计算将面临的新挑战与革新方向
分布式·架构
q***84579 小时前
分布式监控Skywalking安装及使用教程(保姆级教程)
分布式·skywalking