kafka默认配置及调优

213 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情

kafka集群:

  1. 主备集群-> 一个节点一主其他备

  2. kafka定时提交offset,消费完但是没提交offset,消费者宕机可能重启后到值消息重发。(手动提交,异步+同步)异步不会进行失败重试,当消费者异常关闭或者触发了再均衡前,如果偏移量还未提交就会造成偏移量丢失,异步批次提交并且在关闭时同步提交,同步提交还能够进行补救,同步会一直重试,直到提交成功

  3. 消息幂等:数据库唯一,内存set、redis布隆过滤、(hash->hashtable/ziplist)

  4. 生产者保证不丢失数据配置:1. 副本数>1,replication.factor 2.至少保证一个leader和一个follower:min.insync.replicas > 1; 3. 生产者无限重试retries=MAX ,(默认0) 防止在主备切换导致消息丢失。4. acks=all (默认1)数据写在每个follower.

  5. 顺序:通过hash分配到同一个queue、partition(消费者单线程处理->或者多线程保证每个线程hash处理同一类型数据) 6.消息积压(rabiitmq会过期)-> 消费者扩容

  6. 生产者提高吞吐量

  7. 增加分区后的算法-> 默认使用脚本-> 全量复制,重新分区 -实际可以使用kafka kit工具 9.在平衡机制: (新增或删除某个consumer)Sticky:将现有的分区尽可能均衡的分配给各个consumer

欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!! \color{red}欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!!{~}

有最新、优雅的实现方式,我也会在文末写出我对本问答的见解 \color{red}有最新、优雅的实现方式,我也会在文末写出我对本问答的见解{~}

真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话

求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!

如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️