1、kafka分布式流式处理平台,以高吞吐、可持久化、可水平扩展、支持流数据处理等而被广发使用
2、kafka三大角色
消息系统:系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性(增加分区达到水平扩展)、可恢复性、消息顺序保障(分区消息顺序性)、回溯消费
存储系统:消息持久化、多副本机制
流式处理平台:流式处理类库(窗口、连接、变换和聚合)
3、kafka架构
说明:
producer:生产者,生产消息投递到kafka
consumer:消费者,连接到kafka接收消息
broker:简单看作一个独立kafka服务节点或kafka服务实例
主题:消费者消费生产者投递到broker的消息,通过主题,细分为多个分区,同一主题下分区包含的消息不同
分区:属于某一个主题,分区类似于追加日志文件,消息在追加到分区日志文件时会分配一个特定偏移量(offset),offset是消息在分区中唯一标识,kafka通过它来区分顺序性,因此kafka保证分区有序而不是主题有序
kafka为分区引入多副本机制,通过增加副本机制实现了故障的自动转移,副本之间是“一主多从”关系,leader负责读写请求,follower副本负责与leader副本消息同步