1.什么是Kafka?Kafka诞生的背景是什么?
Kafka是由Apache软件基金会开发的一个开源流平台,由Scala和Java编写。Kafka的Apache官网是这样介绍Kakfa的。 英文原版 更多请参考:http://kafka.apache.org/documentation/#introduction 我们重点关键三个部分的关键词:
- Publish and su·bscribe:发布与订阅
- Store:存储
- Process:处理
我们通常将Apache Kafka用在两类程序: 4. 建立实时数据管道,以可靠地在系统或应用程序之间获取数据 5. 构建实时流应用程序,以转换或响应数据流 1 Producers:可以有很多的应用程序,将消息数据放入到Kafka集群中。 2. Consumers:可以有很多的应用程序,将消息数据从Kafka集群中拉取出来。 3. Connectors:Kafka的连接器可以将数据库中的数据导入到Kafka,也可以将Kafka的数据导出到数据库中。 4. Stream Processors:流处理器可以Kafka中拉取数据,也可以将数据写入到Kafka中。
Kafka诞生背景:kafka的诞生,是为了解决linkedin的数据管道问题,起初linkedin采用了ActiveMQ来进行数据交换,大约是在2010年前后,那时的ActiveMQ还远远无法满足linkedin对数据传递系统的要求,经常由于各种缺陷而导致消息阻塞或者服务无法正常访问,为了能够解决这个问题,linkedin决定研发自己的消息传递系统,当时linkedin的首席架构师jaykreps便开始组织团队进行消息传递系统的研发。 提示:
2.为什么选择kafka采集数据?
为什么选择kafka采集数据?大数据采集层主要可以使用Flume, Kafka两种技术。
Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API。
Kafka:Kafka是一个可持久化的分布式的消息队列。 Kafka是一个非常通用的系统。你可以有许多生产者和很多的消费者共享多个主题Topics。
相比之下,Flume是一个专用工具被设计为旨在往HDFS,HBase发送数据。它对HDFS有特殊的优化,并且集成了Hadoop的安全特性。所以,Cloudera 建议如果数据被多个系统消费的话,使用Kafka;如果数据被设计给Hadoop使用,使用Flume。
3.kafka如何入门学习?
大数据教程企业级消息队列Kafka
Kafka入门教程: 完整视频:https://www.bilibili.com/video/BV19y4y1b7Uo 配套资料:https://pan.baidu.com/s/1eGqp87KBPr_-hiammqL37A 提取码:zxi5
在大数据技术领域,一些重要的组件、框架都支持Apache Kafka,不论成成熟度、社区、性能、可靠性,Kafka都是非常有竞争力的一款产品。综上,Kafka是一款非常优秀的平台,那么都有哪些公司在使用Kafka呢?
|