Kafka

五、Kafka (23件事)

1、基本信息

    1)组成
    2)安装多少台    2*(生产者峰值生产速率副本、100)+1 = 3
    3)压测:生产者峰值生产速率
    4)副本:默认1;2 -3个副本
                    副本越多:可靠性越高、增加了磁盘IO,效率低下
5)数据量问题
    100万日活 每个人100条 100万*100=1亿
    1条日志:0.5k - 2k => 1k
    平均速度:1亿/(24
3600s) = 1150条/s
    1150条*1k/s = 1m/s
    峰值速度:1150条/s * 20s = 2万条     20m/s
6)Kafka里面数据保存多久
    默认:7天 =》 3天
7)磁盘预留多大
    100g*2副本*3天/0.7=
8)Kafka做不做监控?
    kafka manager kafkaEagle 开源
9)分区:
    先设置一个分区:生产者峰值生产速率tp、消费者消费的峰值速率tc
    自己要有一个Kafka吞吐量的预期t
    分区数 = t / min(tp,tc)
    t = 100m/s tp = 40 m/s tc = 50m/s
    100/40 = 2.5 = 3个分区
    3-10个分区
10)分区分配策略
    Range (默认)
    RoundRobin 全部hash随机打散,再轮询
11)ISR
    主要解决leader挂了,谁当老大;在ISR队列里面的都有机会。
    旧版本:延迟时间、延迟条数
    新版本:延迟时间

2、Kafka宕机

    短时间 会存储在flume channel里面
    长时间 日志服务器保存30天数据

3、Kafka消息丢失

    生产者机制:ack
    0 发送过来就不管了 可靠性最差,传输效率最高
    1 leader应答 可靠性一般 传输效率一般
    -1 leader+follower共同应答;可靠性最高;传输效率最低

    在生产环境:
    0 肯定不送
    1 一般传输的是普通的日志,对可靠性要求不是特别高。
    -1 传输的是钱相关的,或者金融企业,对可靠性要求高。

4、Kafka消息重复

    自身:幂等性、事务、ack = -1 用的比较少; 更追求效率
    找兄弟:hive的DWD、sparkstreaming、redis 用的比较多

5、Kafka消息积压

    1)增加分区 同时增加下一级消费者的CPU核数
    2)增加下一级消费者消费速度
    flume sparkstreaming batchsize 1000event/s => 2000event/s
    3)增加Kafka台数或磁盘

6、Kafka优化

7、Kafka杂七杂八

    1)Kafka高效读写数据(页缓存技术)
    Kafka本身就是集群、可以设置分区
    2)采用顺序读写
    3)采用零拷贝技术

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 姓名:周小蓬 16019110037 转载自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw阅读 34,899评论 13 425
  • 消息中间件的背景分析 场景分析 前面跟着我看过 zk 的源码,学过并发编程的同学应该知道,我们可以使用阻塞队列+线...
    悠娜的奶爸阅读 371评论 0 2
  • 知识星球 1、kafka消费者每次消费的时候会记录偏移量知道自己该消费那个消息了,当消息进行重试后,Kafka实例...
    hedgehog1112阅读 2,410评论 0 1
  • Kafka 官网: Kafka 主要设计目标如下: 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 T...
    灯火gg阅读 885评论 0 2
  • Kafka Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(...
    redleaf阅读 379评论 0 2

友情链接更多精彩内容