Kafka的诞生

Kafka最初是LinkedIn的一个内部基础设施系统。我们发现,虽然有很多数据库和系统可以用来存储数据,但在我们的架构里,刚好缺一个可以帮助处理持续数据流的组件。

我们希望能够把数据看成是持续变化和不断增长的流,并给予这样的想法构建出一个数据系统,事实上,是一个数据架构。

Kafka一开始被用在社交网络的实时应用和数据流当中,而现在已经成为下一代数据架构的基础。

Kafka充当的角色

Kafka是一个流平台,在这个平台上可以发布和订阅数据流,并把它们保存起来,进行处理,这就是构建Kafka的初衷。

Kafka有点像消息系统,允许发布和订阅消息流。从这点来看,它类似于ActiveMQ,RabbitMQ或IBM的MQSeries等产品。

尽管看上去有些相似,但Kafka与这些传统的消息系统仍然存在很多重要的不同点,这些差异使它完全不同于消息系统。

Kafka与传统消息系统

首先,作为一个现代的分布式系统,Kafka以集群的方式运行,可以自由伸缩,处理公司的所有应用程序。Kafka集群并不是一组独立运行的broker,而是一个可以灵活伸缩的中心平台,可以处理整个公司所有的数据流。

其次,Kafka可以按照要求存储数据,保存多久都可以。作为数据连接层,Kafka提供了数据传递保证--可复制,持久化,保留多长时间完全可以自行决定。

最后,流式处理将数据处理的层次提升到了新高度,消息系统只会传递消息,而Kafka的流式处理能力让你只用很少的代码就能够动态地处理派生流和数据集。

Kafka与Hadoop

Hadoop可以存储和定期处理大量的数据文件,而Kafka可以存储和持续处理大型的数据流。

从技术角度来看,它们有着惊人的相似之处,很多人将新兴的流式处理看成批处理的超集。

它们之间的最大不同体现在持续的低延迟处理和批处理之间的差异上。

Hadoop和大数据主要应用在数据分析上,而Kafka因其低延迟的特点更适合用在核心的业务应用上。

业务事件时刻在发生,Kafka能够及时对这些事件作出相应,基于Kafka构建的微服务直接为业务运营提供支撑,提升用户体验。

Kafka与数据集成工具

Kafka与ETL工具或其他数据集成工具之间也可以进行一番比较。

Kafka和这些工具都擅长移动数据,但我想它们最大的不同在于Kafka颠覆了传统的思维。Kafka并非只是把数据从一个系统拆解出来再塞进另一个系统,它其实是一个面向实时数据流的平台。也就是说,它不仅可以将现有的应用程序和数据系统连接起来,它还能用于加强这些触发相同数据流的应用。我们认为这种以数据流为中心的架构是非常重要的。在某种程度上说,这些数据流是现代数字科技公司的核心,与他们的现金流一样重要。

应用场景

用于时间驱动微服务系统的消息总线,流式应用和大规模数据管道。

Kafka--Kafka简述的更多相关文章

  1. [Kafka] - Kafka Java Consumer实现(一)

    Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...

  2. [Spark][kafka]kafka 生产者,消费者 互动例子

    [Spark][kafka]kafka 生产者,消费者 互动例子 # pwd/usr/local/kafka_2.11-0.10.0.1/bin 创建topic:# ./kafka-topics.sh ...

  3. [Kafka] - Kafka Java Consumer实现(二)

    Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...

  4. Zookeeper与Kafka Kafka

    Zookeeper与Kafka Kafka Kafka SocketServer是基于Java NIO开发的,采用了Reactor的模式(已被大量实践证明非常高效,在Netty和Mina中广泛使用). ...

  5. Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)

    ------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决 ...

  6. [Kafka] - Kafka基本概念介绍

    Kafka官方介绍:Kafka是一个分布式的流处理平台(0.10.x版本),在kafka0.8.x版本的时候,kafka主要是作为一个分布式的.可分区的.具有副本数的日志服务系统(Kafka™ is ...

  7. [Kafka] - Kafka 安装介绍

    Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafk ...

  8. [Kafka] - Kafka内核理解:Message

    一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成 ...

  9. [Kafka] - Kafka内核理解:消息的收集/消费机制

    一.Kafka数据收集机制 Kafka集群中由producer负责数据的产生,并发送到对应的Topic:Producer通过push的方式将数据发送到对应Topic的分区 Producer发送到Top ...

  10. [Kafka] - Kafka基本操作命令

    Kafka支持的基本命令位于${KAFKA_HOME}/bin文件夹中,主要是kafka-topics.sh命令:Kafka命令参考页面: kafka-0.8.x-帮助文档  -1. 查看帮助信息 b ...

随机推荐

  1. WebVR大潮来袭时,前端开发能做些什么

    WebVR大潮来袭时,前端开发能做些什么?     WebVR即web + VR的体验方式,我们可以戴着头显享受沉浸式的网页,新的API标准让我们可以使用js语言来开发.本文将介绍如何快速开发一个We ...

  2. P1120/UVA307 小木棍(sticks) 题解

    题目描述 pdf 题解 注意的问题是,各个原始木棒的长度都是一样的! 说一下本题的总思路即:DFS+超强力剪枝!(详见本人的 AC 程序) 首先,我们要从小到大枚举原始木棒的长度len,也就是枚举答案 ...

  3. 移动硬盘在MAC找不着了

    原因: 移动硬盘,还没有推出的时候,我就直接拔了,导致文件被损坏了. 在MAC系统下,试了很多命令,一不小心加载上了. 但是只读模式,此时我想应该是有损坏了,系统也提示要重新格式化,这个代价太大了,里 ...

  4. VUE.JS和小程序的共通之处

    我是先学习的小程序开发,之后才了解到vue.js.也是一直没有时间去看相关vue.js的知识和内容.现在回顾起来,小程序和vue.js都是前端的内容. 例如小程序中的目录结构物page+app.js+ ...

  5. mycat 主从复制,读写分离,

    1.mycat 主从复制 https://blog.csdn.net/qq_35992900/article/details/80599976 2.mycat 读写分离 https://blog.cs ...

  6. vue移动端transition兼容

    vue移动端transition兼容 .face-recognition .wrapper(:style="{height: viewHeight+'px'}") .face-re ...

  7. selenium+chrome抓取淘宝宝贝-崔庆才思路

    站点分析 源码及遇到的问题 在搜索时,会跳转到登录界面 step1:干起来! 先取cookie step2:载入cookie step3:放飞自我 关于phantomJS浏览器的问题 源码 站点分析 ...

  8. docker-lnmp 多容器部署 Laravel 方案分享(转)

    docker lnmp 多容器部署方案.完全基于 docker 官方镜像,遵循最佳实践,一容器一进程. github 项目地址 https://github.com/March7/docker-lnm ...

  9. MQTT 协议学习:006-订阅主题 与 对应报文(SUBSCRIBE、SUBACK、UNSUBSCRIBE、UNSUBACK)

    背景 之前我们提到了怎么发布消息对应的报文:现在我们来看,订阅一个主题的报文是怎么样的. SUBSCRIBE - 订阅主题 客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅.每个订阅注册 ...

  10. P1060 爱丁顿数

    P1060 爱丁顿数 转跳点: