10

更具体地说,Hazelcast Jet 解决了哪些 Flink 无法解决(同样好)的用例,反之亦然?

4

2 回答 2

17

注意:我属于 Hazelcast Jet 的核心工程团队。


我想说 Hazelcast Jet 的主要优势不在于提供全新的计算模型,而是为基于 DAG 的分布式计算领域带来与 Hazelcast 众所周知的相同水平的便利性。

如果您当前有一个 Java 应用程序在集群中运行,添加 Jet 将是一件轻而易举的事:添加 Maven 依赖项并编写一行代码以在本地成员上启动一个 Jet 实例。实例将自我发现以形成自己的集群,您现在可以将作业提交给它。

如果您想要一个专用的分布式计算集群,您可以将分发 ZIP 下载到集群机器上。Jet 原生支持最流行的云环境,让您开始自我发现节点。然后,您可以使用 Jet 客户端连接到集群。

不用说,Jet 使得使用 HazelcastIMapIList作为数据源非常方便。Jet 集群可以直接托管 Hazelcast 结构;然后您将从数据局部性中受益并在没有网络流量的情况下获取数据。另一方面,数据源的选择完全不受限制,并且有专门用于实现快速、任意分区的自定义数据源的公共 API。

Jet 解决了无限流处理的问题,例如在基于时间的窗口上进行聚合、处理重新排序的事件和对集群拓扑变化的弹性(例如,单个 Jet 节点的故障),同时保持 Exactly-Once 处理保证。

Jet 的主要编程范式是 Pipeline API,它与 API 非常相似,java.util.stream但适用于分布式计算的细节(lambda 序列化和其他问题)。

Pipeline API 建立在一个较低级别的基于 DAG 的模型之上,该模型也作为公共 API 公开。

于 2017-02-16T08:57:36.517 回答
0

在我看来,flink 似乎提供了一些非常有用的流媒体功能,而 hatcast jet 还没有提供这些功能。

  • 不同的灵活窗口操作符,也可以处理乱序和迟到的项目。
  • 集群容错和交付保证

除此之外,它目前似乎也更加稳定和知名。例如,您可以将其用作 Apache Beam 的运行时,然后在云端的 Google Data Flow 和您自己的部署之间轻松迁移。所以我目前会使用 flink。

最好的

于 2017-02-16T21:04:22.053 回答