Kafka作为一个消息中间件,其应用相当广泛,尤其在大数据领域,基本都会用到。由于笔者参与大数据工作,因此本文将从我的角度和经验出发,讲一下Kafka为什么广泛应用于大数据领域。对于Kafka不是很熟悉的朋友可以点击下方连接跳转进行阅读:
Kafka从入门到放弃(一) —— 初识Kafka
Kafka从入门到放弃(二) —— 生产者
Kafka从入门到放弃(三) —— 消费者
背景&场景
在大数据场景下,数据经常需要经过ETL(抽取-转换-加载)的处理,从一端流向另一端(当然也有ELT,根据各个企业不同的考量决定不同的架构),比如从各个业务系统经过处理后落地到数据仓库,数据仓库有时候又要把数据提供给业务系统。
由于数据流向比较多,如果不做好数据链路规划,很容易造成开发重复、成本增加,出现问题也比较难以排查。因此,合理构造数据管道是很重要的,而Kafka在数据管道的构建中发挥了很大的优势。
特点&原因
批流一体
大数据处理分为流处理和批处理。流处理对实时性要求比较高,数据像水流一样源源不断的流动;批处理就是批量处理