Kafka是由
Apache软件基金会开发的一个开源流处理平台,由
Scala和
Java编写。Kafka是一种高
吞吐量的分布式
发布订阅消息系统,它可以处理消费者在网站中的所有
动作流数据。 这种动作(
网页浏览,搜索和其他用户的行动)是在现代网络上的许多
社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像
Hadoop一样的日志数据和
离线分析系统,但又要求
实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过
Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
kafka的架构师jay kreps对于kafka的名称由来是这样讲的,由于jay kreps非常喜欢franz kafka,并且觉得kafka这个名字很酷,因此取了个和
消息传递系统完全不相干的名称kafka,该名字并没有特别的含义。
kafka的诞生,是为了解决linkedin的数据管道问题,起初linkedin采用了
ActiveMQ来进行
数据交换,大约是在2010年前后,那时的ActiveMQ还远远无法满足linkedin对
数据传递系统的要求,经常由于各种缺陷而导致消息阻塞或者服务无法正常访问,为了能够解决这个问题,linkedin决定研发自己的消息传递系统,当时linkedin的
首席架构师jay kreps便开始组织团队进行消息传递系统的研发;