003.Kafka基本概念

Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。
Topic:
            消息源(Message)的分类。
Partition:
            Topic物理上的分组,一个Topic可以有多个Partition;
            每个Partition存储为append log文件;
            每个Partition中的Message是有序的,每个Partition存储Topic中的一部分Message;
            Partition中的每个Message都被分配一个有序ID(offset偏移量);
Message:
            消息,最基本单位,有Producer产生并发送到Topic中;
            通过分区被存储到不同的Partition中;
            Message的3个属性:
                    offset                    偏移量long类型;
                    MessageSize        消息大小int32类型;
                    data                      消息内容;
Producer:
            Message的生产者,发送Message到Topic中;
            决定Message被分配存储到哪个Partition中;
            支持async(异步)和批量发送消息,被缓存在Memery中;
Consumer:
            Message的消费者,从Topic中获取和消费Message。
            每个Consumer值属于一个Consumer Group中,每个Group有多个Consumer;
            一个Partition只会被每个Group中的一个Consumer消费,一个Consumer可以消费多个Partition;
            将消费的消息offset保存在zookeeper中,Consumer重启时,选择最近的offset继续消费;
            对于一个Topic,一个Group中的Consumer数量,不能够多于Partition的数量,否则将有Consumer接收不到Message;
Broker:
            Kafka集群中的一个实例;
            减少IO,先将消息缓存(个数或大小),在flush到磁盘;
            不保存消息状态,消息状态有Consumer保存;
            消息数据默认保存7天;
 

猜你喜欢

转载自nweiren.iteye.com/blog/2228262