自由式学习
21人加入学习
(0人评价)
大数据___Kafka
价格 免费
承诺服务

kafka当中如何保证数据不丢失

1.生产者如何保证数据不丢失

2.消费者如何保证数据不丢失

3.broker如何保证数据不丢失

 

如何保证producer发送的数据不会丢失?

producer发送数据有两种方式:
同步发送:producer发送一条,topic里面保存一条,保存好了,继续发送下一条

缺点:效率太低

异步发送:你发你的,我收我的

缺点:容易造成数据丢失

通过一次发送一批数据(5000条或者10000条),

使用ack机制(发送消息之前请求应答),消息确认机制,ack的值可以设置为

1:主分区以及所有的副本分区都保存好了

0:主分区保存好了即可,副本恩分区不管

-1:没有任何保证机制,发送完了就不管了

 

 

如何阶段broker不会宕机的问题,使用副本机制来同步主分区当中的数据

 

消费者:优先选择主分区当中的数据进行消费,主分区当中的数据是最完整的

kafka会维护一个ISR分区列表,用于在主分区宕机之后,从ISR列表当中选择一个作为主分区

 

如何记录消费到了哪一条避免重复消费或者数据丢失?

通过offset来进行记录,可以将offset保存到redis或者HBASE里面去,下次消费的时候就将offset取出来

 

[展开全文]

授课教师

高级算法工程师
老师

课程特色

考试(5)
图文(1)
视频(24)