【摘要】:Kafka是LinkedIn公司于2010年决定构建的一个系统,主要用来对各种数据系统机制的集成和相同的数据进行实时处理,专注于捕获数据流的设计思想,就是Apache Kafka的起源。因此Kafka也在这种场景下应运而生。但是现在Kafka已经被很多公司用来作为不同类型的数据管道和消息系统来使用,实际上Kafka是一个具有独特特性的分布式消息队列系统。
Kafka是LinkedIn公司于2010年决定构建的一个系统,主要用来对各种数据系统机制的集成和相同的数据进行实时处理,专注于捕获数据流的设计思想,就是Apache Kafka的起源。那么为什么要设计一个系统来专门捕获数据流呢?
Confluent联合创始人Jay Kreps,结合自己过去5年中在LinkedIn构建Apache Kafka的经验描述中发现,他说当时面临着两个棘手的问题,第一,怎样在不同的数据系统中传递数据,而且这些数据系统还部署在不同的地理位置,其中的数据系统包括关系型数据库OLTP、OLAP数据库、衍生的键值数据库、Hadoop、Teradata、搜索引擎、监控系统等;第二,怎样用这些数据低延迟地进行更加丰富的数据分析处理,换句话说,就是现在所说的“流处理”。面对这些问题,他们起初的解决方案是,在数据系统和应用程序之间,通过可操纵的管道来实现数据的传输和异步处理。但是随着时间的推移,业务逻辑的不断复杂,应用程序不断增多,这种组织架构越来越复杂,以至于他们不得不终止这种通过建立数据管道,在不同数据系统中传递数据的方案。因此Kafka也在这种场景下应运而生。(www.daowen.com)
在LinkedIn公司中,Kafka主要用于运营数据处理管道和活动流数据处理。活动流数据处理主要指用户对网站内容的查看、网站页面的访问量、用户搜索记录等信息进行统计分析。但是现在Kafka已经被很多公司用来作为不同类型的数据管道和消息系统来使用,实际上Kafka是一个具有独特特性的分布式消息队列系统。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Scala语言基础与开发实战的文章