将 [hazelcast-jet] 添加到现有应用程序

Pat*_*mer 1 hazelcast hazelcast-jet

我有一个现有的应用程序,它使用 Hazelcast 来跟踪集群成员资格和分布式任务执行。我认为 Jet 可用于在现有应用程序之上添加分析,并且我正在尝试找出如何最好地将 Jet 分层到我们已有的应用程序之上。

所以我的第一个问题是,应该如何在我们现有的 Hazelcast 配置之上运行 Jet?我是否必须单独运行 Jet,或者用 Jet 替换我们现有的 Hazelcast 配置(因为 Jet 确实公开了 HazelcastInstance。)

我的第二个问题是,我看到很多使用 IMap 和 IList 的示例,但我没有看到任何使用主题作为来源的内容(我也不认为这是来源构建器中的一个选项)。我最初使用 Jet 的想法是将我们现有代码中的事件(io perf 数据、http 请求数据)发送到一个主题,然后让 Jet 处理该主题,从该数据生成分析,然后将其推送到 IMap。这是错误的方法吗?我应该使用其他结构将这些事件推送到 Jet 中吗?我看到我可以制作自己的自定义 Source,我可以在其中执行此操作,但我觉得如果我要追求这个,我一定走错了路,因为图书馆尚未为此特定目的提供一个。

Vla*_*ner 7

您可以将当前的 Hazelcast IMDG 集群升级到 Jet 集群,并在 Jet 作业的同时运行您的旧应用程序。此设置更易于部署和操作。为 Jet 启动一个额外的集群也非常好。它的优点是隔离(集群生命周期、故障等)。请注意,您不能将 IMDG 3.x 与 Jet 4.x 集群结合使用。

使用IMap 和 Journal连接两个作业或将数据摄取到集群中。它是适用于 OOTB 的最简单的容错选项。Jet 的数据源必须是可重播的——如果作业失败,它会回到上一个状态快照,分别回绕数据源偏移量。

可以使用主题(通过Source Builder)但它不会容错(某些消息可能会丢失)。Jet 通过定期对作业进行快照来实现容错。在失败的情况下,恢复最新的快照并重放快照之后的数据。与日志不同,主题使用者不能使用偏移量重放数据。