Kafka--Kafka简述
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简述的更多相关文章
- [Kafka] - Kafka Java Consumer实现(一)
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...
- [Spark][kafka]kafka 生产者,消费者 互动例子
[Spark][kafka]kafka 生产者,消费者 互动例子 # pwd/usr/local/kafka_2.11-0.10.0.1/bin 创建topic:# ./kafka-topics.sh ...
- [Kafka] - Kafka Java Consumer实现(二)
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) H ...
- Zookeeper与Kafka Kafka
Zookeeper与Kafka Kafka Kafka SocketServer是基于Java NIO开发的,采用了Reactor的模式(已被大量实践证明非常高效,在Netty和Mina中广泛使用). ...
- Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决 ...
- [Kafka] - Kafka基本概念介绍
Kafka官方介绍:Kafka是一个分布式的流处理平台(0.10.x版本),在kafka0.8.x版本的时候,kafka主要是作为一个分布式的.可分区的.具有副本数的日志服务系统(Kafka™ is ...
- [Kafka] - Kafka 安装介绍
Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafk ...
- [Kafka] - Kafka内核理解:Message
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成 ...
- [Kafka] - Kafka内核理解:消息的收集/消费机制
一.Kafka数据收集机制 Kafka集群中由producer负责数据的产生,并发送到对应的Topic:Producer通过push的方式将数据发送到对应Topic的分区 Producer发送到Top ...
- [Kafka] - Kafka基本操作命令
Kafka支持的基本命令位于${KAFKA_HOME}/bin文件夹中,主要是kafka-topics.sh命令:Kafka命令参考页面: kafka-0.8.x-帮助文档 -1. 查看帮助信息 b ...
随机推荐
- JS事件委托或者事件代理原理以及实现
事件委托(事件代理)原理:简单的说就是将事件交由别人来执行,就是将子元素的事件通过冒泡的形式交由父元素来执行. 为什么要用时间委托? 在JavaScript中,添加到页面上的事件处理程序数量将直接关系 ...
- ash.jpg
- C++11 — lambda表达式(匿名函数)
C++11中lambda表达式的基本语法格式为: [capture](parameters) -> return_type { /* ... */ } 其中 [] 内为外部变量的传递方式: [] ...
- 【剑指Offer面试编程题】题目1504:把数组排成最小的数--九度OJ
题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 输入: 输 ...
- 【剑指Offer面试编程题】题目1517:链表中倒数第k个结点--九度OJ
题目描述: 输入一个链表,输出该链表中倒数第k个结点. (hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束. 对于每个测试案例,输入的第一行为两个整数n和k(0< ...
- 蓝桥杯java 迷宫
0101010100101100100101011001011010010000100010101000001000100000101010010000100000001001100110100101 ...
- Spring之byte[]传输
事出原因 某些原因,需要在在服务之间传输文件,想到只有通过Byte数组,或者是Stream传递,遂定下两方法,一个byte,一个inpustream,老样子,upload(@RequestParam( ...
- C#.NET解析XML(使用属性控制 XML 序列化)
使用属性可以控制对象的 XML 序列化. 默认情况下,XML 元素名称由类或成员名称确定.在名为 Book 的简单类中,字段 ISBN 将生成 XML 元素标记 <ISBN>,如下面的示例 ...
- Jenkins——持续集成(CI)
Jenkins介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins功能包括:1. ...
- Mybatis-问题总结
1.在mybatis里面注释语句的时候,一定用 <!- -需要注释的内容–>.用快捷键注释一行代码显示是/**/,但是实际执行起来报错.