中山大沥网站制作,wordpress弹出搜索结果,南昌市网站建设,怎么做网站板块一、kafka是如何保证消息不丢失
1. 介绍
使用kafka在消息的收发过程都有可能会出现消息丢失 #xff08;1#xff09;生产者发送消息到broker丢失 #xff08;2#xff09;消息在broker中存储丢失 #xff08;3#xff09;消费者从broker接收消息丢失
2. 生产者发送消…一、kafka是如何保证消息不丢失
1. 介绍
使用kafka在消息的收发过程都有可能会出现消息丢失 1生产者发送消息到broker丢失 2消息在broker中存储丢失 3消费者从broker接收消息丢失
2. 生产者发送消息到broker丢失
设置异步发送同步发送会发生阻塞一般使用异步发送方式发送消息 消息重试由于网络抖动造成消息发送失败可以使用kafka提供的重试机制
3. 消息在broker中存储丢失
broker存储大体流程 1生产者发送消息到达broker中 2消息存储在分区中分区分为两个不同角色leader只有一个follower可能会有多个 3先把消息保存到leader分区中然后由leader将消息同步到follower中 发送确认机制acks 1要想保证数据不丢失可以设置acksall在所有分区副本保存完成后才会发送确认给生产者性能也是最低的 2实际生产环境中最低也要设置acks1
4. 消费者从broker接收消息丢失
一个kafka集群是由多个brokerkafka实例组成的每一个broker中都存在不同的topic并且一个topic可能存在多个分区这些分区可能存在不同的broker中一个消费者组可能存在多个消费者它们都是消费同一个topic负责消费topic不同分区topic分区中消息只能由消费者组中唯一一个消费者处理不同的分区分配给不同的消费者 丢失消息原因 1消费者默认是自动按期提交已经消费的偏移量默认是每隔5秒提交一次。如果消费者组出现重平衡的情况可能会重复消费或者丢失消息 2可以禁用自动提交偏移量改为手动 解决方案 1同步提交【会阻塞不推荐】 2异步提交【偏移量可能不准确不推荐】 3同步异步组合提交【推荐】
5. 总结 6. 参考答案 二、kafka是如何保证消息的顺序性
1. 介绍
问题原因 1一个topic中的数据可能存储在不同的分区中每个分区都有一个按照顺序的存储偏移量如果消费者关联了多个分区则不能保证消费的顺序性解决方案 1发送消息时指定分区号往同一个分区中存储消息 2发送消息时按照相同的业务设置相同的key
2. 案例分析
springboot集成kafkatemplate
3. 参考答案 三、kafka的高可用机制要了解过吗
1. 介绍
集群模式分区备份机制
2. 集群模式 3. 分区备份机制 4. 总结 5. 参考答案 四、kafka数据清理机制有了解过吗
1. 介绍
kafka文件存储机制数据清理机制
2. kafka文件存储机制 3. 数据清理机制 4. 总结 5. 参考答案 五、kafka中实现高性能的设计有了解过吗
1. 介绍 2. 参考答案