Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
秋雨雁南飞3 分钟前
C# 分布式消息框架
分布式
ZePingPingZe23 分钟前
TCC—最终一致性分布式事务方案及【案例】
分布式·微服务
alonewolf_9927 分钟前
RabbitMQ高级功能全面解析:队列选型、死信队列与消息分片实战指南
分布式·消息队列·rabbitmq·ruby
hellojackjiang20112 小时前
如何保障分布式IM聊天系统的消息有序性(即消息不乱)
分布式·架构·即时通讯·im开发
burning_maple3 小时前
设计数据密集型应用阅读笔记
分布式·后端·中间件
alonewolf_993 小时前
RabbitMQ快速上手与核心概念详解
分布式·消息队列·rabbitmq
陌路203 小时前
RPC分布式通信(4)--Zookeeper
分布式·zookeeper·rpc
陌路204 小时前
RPC分布式通信(6)---调用方自动封装请求数据、从 ZK 获取服务地址、建立 TCP 连接发送请求、接收并解析响应
分布式·tcp/ip·rpc
廋到被风吹走4 小时前
【分布式缓存】分布式缓存架构全解析:从 Redis Cluster 到多级缓存策略
分布式·缓存·架构
敏叔V58721 小时前
联邦学习与大模型:隐私保护下的分布式模型训练与微调方案
分布式