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

  1.segment的概念

  topic中会有一个到多个分区,每个分区中会有多个segment,segment的大小在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.通过一些配置,就可以将线上产生的数据同步到镜像中去,然后再由特定的集群区处理大批量的数据。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913892/viewspace-2654310/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69913892/viewspace-2654310/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值