kafka 难点

参考文章

[[Kafka常见面试题](https://blog.csdn.net/qq_28900249/article/details/90346599)
[参考文章](https://www.cnblogs.com/juniorMa/articles/13936154.html)

重要考点

  1. kafka 为什么那么快
    • Cache Filesystem Cache PageCache缓存

    • 顺序写 由于现代的操作系统提供了预读和写技术,磁盘的顺序写大多数情况下比随机写内存还要快。

    • Zero-copy 零拷技术减少拷贝次数

传统传输文件流程
1. 硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎

零拷贝
1. sendfile系统调用,文件数据被copy至内核缓冲区
2. 再从内核缓冲区copy至内核中socket相关的缓冲区
3. 最后再socket相关的缓冲区copy到协议引擎

总结
相较传统read/write方式,2.1版本内核引进的sendfile已经减少了内核缓冲区到user缓冲区,再由user缓冲区到socket相关缓冲区的文件copy,而在内核版本2.4之后,文件描述符结果被改变,sendfile实现了更简单的方式,再次减少了一次copy操作

* Batching of Messages 批量量处理。合并小的请求,然后以流的方式进行交互,直顶网络上限。

* Pull 拉模式 使用拉模式进行消息的获取消费,与消费端处理能力相符。
  1. 消息堆积
    1. 消费端宕机
      增加自动拉起脚本 告警
    2. 消费能力弱
      增强消费能力 异常处理
    3. 调节消费参数
      1. max.poll.interval.ms 每次poll消息处理时间调大
      2. max.poll.records 每次拉取消息条数减小
    4. 分片少
    5. 分片不均匀
      producer生产时设置key hash到分区均匀
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值