课程名称:kafka流处理平台
课程章节:
Kafka的基本概念、Kafka的设计和结构
主讲老师:
课程内容:
Kafka是目前主流的流处理平台,同时作为消息队列家族的一员,其高吞吐性作为很多场景下的主流选择。同时作为流处理平台,在大数据开发中,作为黏合剂串联各个系统。
Kafka应用场景
消息队列、行为跟踪、元信息监控(运维性质)、日志收集、流处理、事件源、持久性日志(commit log)
物理概念:物理层面的隔离,如数据库,服务器设备等
逻辑概念:代码/策略逻辑层面的概念
Producer:消息和数据的生产者,向kafka的一个topic发布消息的进程/代码/服务
Consumer:消息和数据的消费者,订阅数据(Topic)并且处理其发布的消息的进程/代码/服务
Consumer Group:逻辑概念,对于同一个topic,会广播给不同的group,一个group中,只有一个consumer可以消费该消息
broker:物理概念,kafka集群中的每个kafka节点
topic:逻辑概念,kafka消息的类别,对数据进行区分、隔离
partition:物理概念,kafka下数据存储的基本单元。一个Topic数据,会被分散存储到多个partition,每个partition是有序的
Replication:同一个Partition可能会有多个Replica,多个Replica之间的数据是一样的(相当于一个partition有多个副本)
Replication Leader:一个Partition的多个Replica上,需要一个Leader负责Partition上与Producer和Consumer交互(有且只有一个,其他的负责同步数据,当好备胎)
ReplicaManager:负责管理当前broker所有分区和副本的信息,处理kafkaController发起的一些请求,副本状态的切换、添加/读取消息等