Gearpump是一个实时处理引擎,你知道吗?
你好,最近有人告诉我一个看起来很有趣的产品叫Gearpump,所以我想研究一下它。
请参考以下链接:
http://www.gearpump.io/
http://conferences.oreilly.com/strata/big-data-conference-sg-2015/public/schedule/detail/45109
Gearpump是什么?
这是一款由Intel推出的用于实时的大数据流处理的开源软件。它基于DAG结构的图形,并作为执行引擎。
在类似产品中有哪些选项?

作为一个层,它是执行实际处理的引擎部分,特别是用于执行流处理的产品。
作为流处理系统的产品,下面是一些产品的公开情况。实际上,ActiveMQ和Kafka是用于流动数据的基础产品,所以它们的定位稍有不同,但是下面提到的类似产品,如Yahoo S4、Storm、Spark Streaming等应该被归类为借鉴了它们的先前产品的产品。

它有哪些特点?
根据网站上显示的信息,它似乎具备以下特点。
-
- 高性能
-
- 低レイテンシ
-
- メッセージの処理信頼性設定可能(At least once / exactly once)
-
- 高拡張性
-
- 動的DAG
-
- Storm互換
-
- Samoa互換
-
- 広範なIoT接続容易性
- 高レベル、低レベルの両方のAPIを提供
大部分是这些流处理基础设施常常被宣称的项目,但是其中最引人注目的是流处理基础设施可以实现“仅一次”的操作。
在过去,像Storm等流处理基础设施无法实现“仅一次”的操作,而实际上通过了实现的Spark Streaming也有批处理的实质,这是其中的原因之一。
因此,对于以逐条消息方式进行实时/流处理的基础设施,我并不知道有实现“仅一次”的产品,所以对于实际上是什么样的情况很感兴趣。
这台设备的性能能有多好?

就具体来说,这个测试的主要目的是生成一个100字节的随机消息并将其传递给下游,以检查网络带宽的利用程度。尽管处理量比较少,但由于消息的发送是基于Storm的默认Shuffle Grouping,因此网络效率并不高。这是否合理还需要考虑,但从测试吞吐量和网络性能的角度来看,它似乎相当有效。
如果是默认设置的话,似乎会有以下配置:
– 层级有2层(生成消息的模块>将消息流向下游的模块)
– 消息流向下游的哪个模块是循环式(在Storm中的ShuffleGrouping)
请参考以下链接,它包含了有关”SOL.java”的更多信息:https://github.com/intel-hadoop/storm-benchmark/blob/master/src/main/java/storm/benchmark/benchmarks/SOL.java
这个看起来有多易于使用?看起来容易管理吗?
在使用这种处理引擎时,必备的是用于管理的界面。
与Storm等早期产品的用户界面不同,Gearpump似乎具有直观地展示其内部的仪表盘。

由哪些技术要素组成,可能会有什么样的运用?
根据基本原则,该架构基于Akka Actor。

似乎可以像 Akka Streams 一样使用以下描述来构建模块的链式结构。

因此,实施语言也采用了Java和Scala的组合,对于JVM系的工程师来说,这种语言搭配非常方便。
另外,我們提供了在YARN上運行的配置和自行管理集群的配置兩種選項,讓執行基礎設施更易於確保。


总结
我已经粗略浏览了Gearpump的网站和演讲资料,找到了一些概要性的内容。下一次,我打算从资料中仔细阅读更多详细信息,然后尝试实际操作。