十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
好程序员大数据培训分享关于kafka的几个重要问题:
创新互联是专业的南和网站建设公司,南和接单;提供成都网站设计、做网站、成都外贸网站建设公司,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南和网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!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.通过一些配置,就可以将线上产生的数据同步到镜像中去,然后再由特定的集群区处理大批量的数据。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。