apachekafka:分布式消息传递系统apachestorm:实时消息处理如何在实时数据管道中使用这两种技术来处理事件数据?在实时数据管道方面,在我看来两者的工作是相同的。我们如何在数据管道上使用这两种技术?
webghufk1#
正如每个人向您解释的那样,apachekafka:是连续消息队列apachestorm:是一个连续处理工具在这方面,kafka将使用api从fb、twitter等任何网站获取数据,并使用apachestorm对数据进行处理,您可以将处理后的数据存储在任意数据库中。https://github.com/miguno/kafka-storm-starter跟着它走你会知道的
goucqfw62#
Kafka-提供实时流风暴-在那条河上执行一些操作你可以看看github项目https://github.com/abhishekgoel137/kafka-nodejs-d3js.(d3js是一个图形表示库)理想情况:
Realtime application -> Kafka -> Storm -> NoSQL -> d3js
此存储库基于:
Realtime application -> Kafka -> <plain Node.js> -> NoSQL -> d3js
kg7wmglp3#
只需kafka将消息从一个节点发送到另一个节点,然后storm处理消息。查看这个示例,了解如何将apachekafka与storm集成
jvidinwx4#
我知道这是一个较老的线程,apache kafka和storm的比较在编写时是有效和正确的,但值得注意的是,apache kafka多年来发展了很多,自版本0.10(2016年4月)以来,kafka包含了一个kafka streams api,它提供了流处理功能,而无需任何其他工具附加软件,如storm。kafka还包括用于连接到各种数据源和数据汇(目的地)的connectapi。公告博客-https://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/当前apache文档-https://kafka.apache.org/documentation/streams/在0.11kafka中,流处理功能被进一步扩展,以提供精确的一次语义和事务。https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/
ryoqjall5#
Kafka和斯托姆的目的略有不同:kafka是一个分布式的消息代理,它可以每秒处理大量的消息。它使用发布-订阅范式并依赖于主题和分区。Kafka利用zookeeper在经纪人之间分享和拯救国家。所以Kafka基本上负责把信息从一台机器传送到另一台机器。storm是一个可伸缩的、容错的实时分析系统(就像hadoop一样实时思考)。它消耗来自源(喷口)的数据并将其传递到管道(螺栓)。可以在拓扑中组合它们。所以storm基本上是一个计算单元(聚合,机器学习)。但是您可以同时使用它们:例如,您的应用程序使用kafka将数据发送到其他服务器,这些服务器使用storm对其进行一些计算。
tjrkku2a6#
您使用apachekafka作为一个分布式的健壮队列,它可以处理大量数据,并使您能够将消息从一个端点传递到另一个端点。风暴不是排队。它是一个具有分布式实时处理能力的系统,意味着您可以并行地对实时数据执行各种操作。这些工具的常见流程(据我所知)如下:实时系统-->Kafka-->风暴-->nosql-->bi(可选)因此,你有你的实时应用程序处理大量的数据,发送到Kafka队列。storm从Kafka那里提取数据并应用一些必要的操作。在这一点上,您通常希望从这些数据中获得一些好处,因此您可以将其发送到某个nosqldb进行额外的bi计算,也可以从任何其他系统中简单地查询这个nosql。
5lhxktic7#
当我有一个用例需要我对模式进行可视化或警告(想想twitter趋势),同时继续处理事件时,我有几个模式。nifi将允许我处理一个事件,并用非常非常少的定制编码来更新具有低(er)批聚合的持久数据存储。storm(许多自定义编码)允许我几乎实时地访问趋势事件。如果我能等上几秒钟,那么我就可以批量出Kafka,进入hdfs(Parquet地板)并进行加工。如果我想在几秒钟内知道,我需要nifi,甚至可能是storm(想想监测数千个地球站,在那里我需要看到龙卷风警报的小区域天气状况。
7条答案
按热度按时间webghufk1#
正如每个人向您解释的那样,apachekafka:是连续消息队列
apachestorm:是一个连续处理工具
在这方面,kafka将使用api从fb、twitter等任何网站获取数据,并使用apachestorm对数据进行处理,您可以将处理后的数据存储在任意数据库中。
https://github.com/miguno/kafka-storm-starter
跟着它走你会知道的
goucqfw62#
这就是它的工作原理
Kafka-提供实时流
风暴-在那条河上执行一些操作
你可以看看github项目https://github.com/abhishekgoel137/kafka-nodejs-d3js.
(d3js是一个图形表示库)
理想情况:
此存储库基于:
kg7wmglp3#
只需kafka将消息从一个节点发送到另一个节点,然后storm处理消息。查看这个示例,了解如何将apachekafka与storm集成
jvidinwx4#
我知道这是一个较老的线程,apache kafka和storm的比较在编写时是有效和正确的,但值得注意的是,apache kafka多年来发展了很多,自版本0.10(2016年4月)以来,kafka包含了一个kafka streams api,它提供了流处理功能,而无需任何其他工具附加软件,如storm。kafka还包括用于连接到各种数据源和数据汇(目的地)的connectapi。
公告博客-https://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/
当前apache文档-https://kafka.apache.org/documentation/streams/
在0.11kafka中,流处理功能被进一步扩展,以提供精确的一次语义和事务。
https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/
ryoqjall5#
Kafka和斯托姆的目的略有不同:
kafka是一个分布式的消息代理,它可以每秒处理大量的消息。它使用发布-订阅范式并依赖于主题和分区。Kafka利用zookeeper在经纪人之间分享和拯救国家。所以Kafka基本上负责把信息从一台机器传送到另一台机器。
storm是一个可伸缩的、容错的实时分析系统(就像hadoop一样实时思考)。它消耗来自源(喷口)的数据并将其传递到管道(螺栓)。可以在拓扑中组合它们。所以storm基本上是一个计算单元(聚合,机器学习)。
但是您可以同时使用它们:例如,您的应用程序使用kafka将数据发送到其他服务器,这些服务器使用storm对其进行一些计算。
tjrkku2a6#
您使用apachekafka作为一个分布式的健壮队列,它可以处理大量数据,并使您能够将消息从一个端点传递到另一个端点。
风暴不是排队。它是一个具有分布式实时处理能力的系统,意味着您可以并行地对实时数据执行各种操作。
这些工具的常见流程(据我所知)如下:
实时系统-->Kafka-->风暴-->nosql-->bi(可选)
因此,你有你的实时应用程序处理大量的数据,发送到Kafka队列。storm从Kafka那里提取数据并应用一些必要的操作。在这一点上,您通常希望从这些数据中获得一些好处,因此您可以将其发送到某个nosqldb进行额外的bi计算,也可以从任何其他系统中简单地查询这个nosql。
5lhxktic7#
当我有一个用例需要我对模式进行可视化或警告(想想twitter趋势),同时继续处理事件时,我有几个模式。
nifi将允许我处理一个事件,并用非常非常少的定制编码来更新具有低(er)批聚合的持久数据存储。
storm(许多自定义编码)允许我几乎实时地访问趋势事件。
如果我能等上几秒钟,那么我就可以批量出Kafka,进入hdfs(Parquet地板)并进行加工。
如果我想在几秒钟内知道,我需要nifi,甚至可能是storm(想想监测数千个地球站,在那里我需要看到龙卷风警报的小区域天气状况。