更具体地说,Hazelcast Jet 解决了哪些 Flink 无法解决(同样好)的用例,反之亦然?
最佳答案
注意:我属于 Hazelcast Jet 的核心工程团队。
我想说 Hazelcast Jet 的主要优势不在于提供全新的计算模型,而是为基于 DAG 的分布式计算领域带来与 Hazelcast 众所周知的相同水平的便利性。
如果您当前有一个 Java 应用程序在集群中运行,添加 Jet 将是一件轻而易举的事:添加 Maven 依赖项并编写一行代码以在本地成员上启动一个 Jet 实例。实例将自我发现以形成自己的集群,您现在可以将作业提交给它。
如果您想要一个专用的分布式计算集群,您可以将分发 ZIP 下载到集群机器上。 Jet 原生支持最流行的云环境,让您开始自我发现节点。然后,您可以使用 Jet 客户端连接到集群。
不用说,Jet 让 Hazelcast 的使用变得非常方便 IMap
或 IList
作为数据源。 Jet 集群可以直接托管 Hazelcast 结构;然后您将从数据局部性中受益并在没有网络流量的情况下获取数据。另一方面,数据源的选择完全不受限制,并且有专门用于实现快速、任意分区的自定义数据源的公共(public) API。
Jet 解决了无限流处理的问题,例如在基于时间的窗口上聚合、处理重新排序的事件和对集群拓扑变化的弹性(例如,单个 Jet 节点的故障),同时保持 Exactly-Once 处理保证。
Jet 的主要编程范式是 Pipeline API,它与 java.util.stream
非常相似。 API 但适用于分布式计算的细节(lambda 序列化和其他问题)。
Pipeline API 建立在一个较低级别的基于 DAG 的模型之上,该模型也作为公共(public) API 公开。
关于apache-flink - Hazelcast Jet 和 Apache Flink 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243347/