0

我正在使用 hazelcast jet 0.6.1 进行实时分析。有来自不同来源的多个流(主要来自远程日志)。

我想知道,多个流之间是否支持完全连接。

如果是,请您指出一些链接/示例,以便在多个流之间进行完全连接。

4

2 回答 2

0

我认为您需要详细说明您正在尝试做的事情。流理论上是无限的,因此“完全连接”一词的含义必须不同于它在数据库中的含义。

Jet 中有几种类型的连接可用。正如 Can 上面所说,有一个合并运算符,但您可能会更多地考虑窗口连接,您可以在时间限制连接的时间段。

合并蒸汽在这里: https ://docs.hazelcast.org/docs/jet/0.7.2/manual/#merge

窗口概念在这里: https ://docs.hazelcast.org/docs/jet/0.7.2/manual/#unbounded-stream-processing

于 2019-01-07T19:53:32.980 回答
0

*这是对第一个答案的评论的回应,对于另一个评论来说太大了,我认为第一个答案仍然相关

这是相同的数据和数据类型,只是来自不同的节点吗?就像微服务架构的应用服务器?在我看来,您在这里有几个选项,这些选项真正归结为首选的整体架构,特别是关于您希望如何传输事件。几个想法:

  1. 如果适合用例,您可以简单地合并来自不同数据源的流:

见:https ://docs.hazelcast.org/docs/jet/0.7.2/manual/#merge

  1. 如果这是同质数据,只是分布在应用程序服务器上,如果可能是您在每个应用程序服务器上使用 Hazelcast 客户端将事件放入 IMap(由所有应用程序服务器共享)中,并在 Hazelcast 上使用事件日志簇。然后 Jet 只接收来自事件日志的所有事件。

请参阅:https ://docs.hazelcast.org/docs/latest/manual/html-single/#event-journal

  1. 如果您有可用的 Kafka,也许您为来自服务器的事件创建一个主题,然后 Jet 从 Kafka 接收事件。无论哪种方式,当 Jet 获取它们时它们已经被合并,因此它们被作为一个流处理。

见:https ://docs.hazelcast.org/docs/jet/0.7.2/manual/#kafka

于 2019-01-09T22:07:11.700 回答