上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第1章 Kafka体系架构基础
Apache Kafka是一个用Scala语言编写的开源消息系统,通常用于大数据的流式计算平台。Kafka最早是由LinkedIn公司开发的,后来LinkedIn公司将Kafka贡献给了Apache基金会。Apache Kafka具备高吞吐量、高容错性、可持久性和可水平扩展的特点。正因为Kafka在流数据处理领域中的卓越表现,目前受到越来越多的青睐。
下面举例说明Kafka的应用场景。
• 消息系统:Kafka支持Topic广播类型的消息,具备高可靠性和容错机制。同时Kafka也可以保证消息的顺序性和可追溯性。传统的消息系统很难实现这些消息系统的特性。同时,Kafka可以将消息持久化保存到磁盘,从而有效地减少数据丢失的风险。从这个角度看,Kafka也可以看成是一个数据存储系统。
• 大数据流式计算处理:在大数据计算领域中,计算主要分为大数据离线计算和大数据流式计算。可以将流式数据进行实时采集然后缓存到Kafka中,从而进一步通过Storm、Spark Streaming和Flink DataStream进行数据的实时计算。
• 系统的解耦:由于Kafka支持异步的消息机制,可以将Kafka用于系统的解耦设计。这样,一个系统的架构变动,就不会影响另一个系统的运行。