请选择 进入手机版 | 继续访问电脑版

好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

[BigData] 好程序员大数据培训分享关于kafka的几个重要问题

[复制链接]
叶子老师 发表于 2019-8-20 15:01:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  好程序员大数据培训分享关于kafka的几个重要问题:
  1.segment的概念
  topic中会有一个到多个分区,每个分区中会有多个segmentsegment的大小在kafka的配置文件里可以设置,segment的大小是相等的,每个segment有多个index文件和对应的数据文件组成的
  2.数据存储机制?(数据写入快的原因)
  首先是broker接收到数据,将数据放到操作系统(linux)的缓存里(pagecache)
  pagecache 会尽可能多的使用空闲内存,会使用sendfile技术尽可能多的减少操作系统和应用程序之间进行重复缓存,写入数据的时候还会用到顺序写入的方式,写入数据的速度可达600m/s
  3.consumer是怎么解决负载均衡问题的?
  当同一个group 的consumer的数量发生改变时,会触发kafka的负载均衡,首先获取consumer消费的起始分区号,再计算出consumer要消费的分区数量,最后用起始分区号的hashcode值模余分区数
1、数据的分发策略
  kafka默认调用自己的分区器(DefaultPartitioner)进行分区,也可以自定义分区器,自定义分区器需要实现Partitioner特质,实现partition方法
2、kafka是怎么保证数据不丢失的?
kafka接收数据以后会根据创建的topic指定的副本数来储存,副本数据是由kafka自己进行同步,多副本机制保证了数据的安全性
3、kafka可以保证topic里的数据全局有序吗
  kafka可以做到分区内有序,分区之间是无序的
  怎么做到全局有序呢?最简单方式是创建分区topic时指定分区数为1
4、如果想消费已经被消费过的数据
  1.采用不同的group。
  2.通过一些配置,就可以将线上产生的数据同步到镜像中去,然后再由特定的集群区处理大批量的数据。
好程序员大数据培训官网:http://www.goodprogrammer.org/

精彩内容,一键分享给更多人!
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
好程序员
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启