Kafka保证消息不丢失

Kafka保证消息不丢失

生产者发送消息到Broker丢失

设置异步发送

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

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

消息在Broker中丢失

kafka集群中存在分区机制

分区中分为leader和follower副本

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

broker确认机制

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

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

消费者接受消息丢失

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

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

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

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

解决方案

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

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

相关推荐
ZHOU_WUYI1 小时前
一个简单的分布式追踪系统
分布式
码不停蹄的玄黓5 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
王小王-1236 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
要开心吖ZSH7 小时前
《Spring 中上下文传递的那些事儿》Part 4:分布式链路追踪 —— Sleuth + Zipkin 实践
java·分布式·spring
幼稚园的山代王8 小时前
RabbitMQ 4.1.1初体验
分布式·rabbitmq·ruby
百锦再8 小时前
RabbitMQ用法的6种核心模式全面解析
分布式·rabbitmq·路由·消息·通道·交换机·代理
一路向北North9 小时前
RabbitMQ简单消息监听和确认
分布式·rabbitmq·ruby
真实的菜9 小时前
Kafka生态整合深度解析:构建现代化数据架构的核心枢纽
架构·kafka·linq
一路向北North16 小时前
使用reactor-rabbitmq库监听Rabbitmq
分布式·rabbitmq·ruby
Amy1870211182321 小时前
赋能低压分布式光伏“四可”建设,筑牢电网安全新防线
分布式