Apache storm Apache Ignite vs.Apache Storm(深入)

Apache storm Apache Ignite vs.Apache Storm(深入),apache-storm,ignite,Apache Storm,Ignite,ApacheIgnite和ApacheStorm在许多方面都是两种截然不同的技术,特别是因为Storm有一个非常特定的用例,而Ignite在同一个平台下有相当多的工具。据我所知,Ignite的核心是它的内存存储。在此基础上建立了对数据位置敏感的计算。在此基础上,还有各种各样的酷“玩具”。我感兴趣的是流功能,它基本上是一个在内存缓存中变化的查询侦听器 如果我将滑动窗口设置为一个元组,Ignite将提供一次一个元组的功能,就像Storm一样。数据通过Ignite存储在内存中。Storm不会以内存的方

ApacheIgnite和ApacheStorm在许多方面都是两种截然不同的技术,特别是因为Storm有一个非常特定的用例,而Ignite在同一个平台下有相当多的工具。据我所知,Ignite的核心是它的内存存储。在此基础上建立了对数据位置敏感的计算。在此基础上,还有各种各样的酷“玩具”。我感兴趣的是流功能,它基本上是一个在内存缓存中变化的查询侦听器

如果我将滑动窗口设置为一个元组,Ignite将提供一次一个元组的功能,就像Storm一样。数据通过Ignite存储在内存中。Storm不会以内存的方式“存储”数据,但元组当然也存储在内存中。因此,在这两种情况下,我都有流媒体,我的内存中有数据,我能够分配我的计算

我有一种感觉,由于这两种技术的抽象,在Storm中编写完成许多数据转换步骤的程序可能更容易。那该怎么说呢

第二个问题:表现如何?我猜Ignite的数据位置可能会给它带来优势。另一方面,我认为在Storm中可以更好地分配多个步骤(各种机器上有不同的螺栓),而Ignite程序可能不那么容易分割

如果我仍然想要分发流(不仅仅是每个数据,还包括不同机器上的步骤)。我想我必须写多个Ignite拖缆,它们通过缓存进行通信,对吗?这听起来比在暴风雨中更难写(让我们回到第一个问题)

我有一种感觉,由于这两种技术的抽象,在storm中编写完成许多数据转换步骤的程序可能更容易。那该怎么说呢

你可能是对的。虽然Ignite通过将新生成的元组流式传输到另一个缓存中,对它也有不错的支持,但在storm中,多重转换似乎会更容易

演出怎么样?我猜Ignite的数据位置可能会给它带来优势。另一方面,我认为在Storm中可以更好地分配多个步骤(各种机器上有不同的螺栓),而Ignite程序可能不那么容易分割

从我在社区内听到的情况来看,Ignite应该比Storm快一个数量级

如果我仍然想要分发流(不仅仅是每个数据,还包括不同机器上的步骤)。我想我必须写多个Ignite拖缆,它们通过缓存进行通信,对吗

是的,你说得对。在Ignite中拥有多个缓存并不是一件坏事,实际上是推荐的。大多数用户最终会有一打或两个

这听起来比在暴风雨中更难写(让我们回到第一个问题)


听起来您需要决定性能对您有多重要。

1)您能给我一个指针,指出在哪里可以找到这种“体面的支持”吗?2) 为什么点火的震级比风暴快?我看不出有什么技术上的原因。(这有点难以置信。)“体面的支持”我的意思正是你所建议的——将一个流的结果流到另一个缓存中。至于性能,你自己测试一下就可以了。性能差异通常来自代码效率,而不一定来自架构。关于1:我的意思是我应该使用哪个Ignite接口。org.apache.ignite.IgniteCache或者是否有一个更适合此用例的方法?ignite有单独的流式API,应该更适合您的用例。看看IgniteDataStreamer和StreamReceiver接口。以下是文档页面,了解更多详细信息: