kafka初步介绍

kafka是什么

    kafka是一个吞吐量分布式发布订阅消息系统。

 

kafka数据结构

    我们以关系型数据库为例子,toppic好比数据表,partition好比数据库分区,每个分区下面是每条消息(数据)。

 

kafka集群结构

    controller选取方法:谁先在zookeeper创建元数据,谁就是controller;

    controller与follower区别:

        controller和follower都会监听zookeeper,controller出问题,follower会竞争controller;

        controller用于同步元数据,比如,创建topic时,主题元数据会存储在zookeeper和controller中,follower会从controller同步元数据,所以整个系统都存储了元数据;

    数据安全性实现:每个partition都有主和从,从用于同步数据保证数据安全,主用于读写,供消费者生产者使用;

    数据位置记录:生产offset、消费offset,生产者和消费者会对其offset进行操作

      

kafka能力分析:

    kafka是高并发,高性能,高可用的消息系统;

    高可用:我们从上面的broker的controller、follower以及partition的replica可以看出他的高可用性;

    高并发:网络模块处理,达到高并发效果;

    高性能:在高并发的前提下,我们需要高性能才能维护高并发,通过高效利用CPU,内存,硬盘达到效果;

 

kafka模块分析:

    网络模块:NIO模型配合reactor模式

    num.io.threads handler线程数目

    num.network.threads processor线程数目

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章