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. MyEclipse和Eclipse中常用的快捷键

    ##########################快捷键分类速查##########################     *******常用类********[Ctrl+O]   显示类中方法和 ...

  2. How to backup on MSSQL by table level ?

    MSSQL is good database.   Unlike as Oracle,  it seems that can not backup sqlserver databasee tables ...

  3. axios发送post请求[body-parser]--['Content-type': 'application/x-www-form-urlencoded']

    const express = require('express') const axios = require('axios') const bodyParser = require('body-p ...

  4. Python 基础之推导式

    一.列表推导式 通过一行循环判断,遍历出一系列数据的方式就是推导式 特点:方便,简洁,可以实现一些简单的功能推导式当中只能跟循环和判断(单项分支)种类分为三种: 列表推导式  集合推导式  字典推导式 ...

  5. 应用内打开AppStore上某个应用的下载界面--SKStoreReviewController的使用

    产品设计要求是这样的: 对应的初步代码是这样的: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after ...

  6. python字符串和数值操作函数大全(非常全)

    字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\‘的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...

  7. Python中turtle绘图学习笔记和实例

    一.既然本次讲的主角是turtle函数库,那肯定得先了解一下它是什么 turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位 ...

  8. OpenCV数字识别

    输入命令: conda install opencv 返回信息:

  9. for 循环遍历数据动态渲染html

    本案例通过ajax动态获取数据,然后遍历出数据渲染html小心踩坑:因为有时候不注意,渲染页面的时候只能输出最后一个数据所以正确写法为下:如果AJAX数据请求成功的情况下: html <div ...

  10. 同源策略、跨域、json和jsonp

    同源策略 源(origin)就是协议.域名和端口号.若地址里面的协议.域名和端口号均相同则属于同源. 以下是相对于 http://www.a.com/test/index.html 的同源检测 • h ...