快速且可扩展的实时应用程序(Hazelcast Jet 是一种好方法吗?)

Fast and Scalable Real-Time Application (Is Hazelcast Jet a good way?)

实际上,在我们的架构中,我们使用 Hazelcast IMDG,以便在多个服务器节点之间共享有关用户操作的信息。

我们的地图具有以下结构:[key:String|value: CustomObject]

现在,我们想要扩展我们的产品功能,我们想要开发一个实时仪表板来执行实时数据流:

  1. 复杂聚合
  2. 连续查询
  3. 等等

在流程结束时,我们希望将结果“发送”到 Vert.x Eventbus,然后发送到套接字层(SockJS ),以便在仪表板中显示数据。

我们需要建立一个可扩展且快速的系统,以处理大量数据,例如每秒数千个事件。

第一张图片代表我们当前的(旧)架构,第二张图片代表我们的“目标”架构。

Old Architecture

Target Architecture



您如何看待 target 架构?

Hazelcast Jet 的作用是否正确,或者是否有其他方法来执行这些操作(例如仅使用 Hazelcast IMDG)?


提前致谢。

看起来很适合 Hazelcast Jet。您可能会使用 Sources.mapJournal() 来处理添加到 IMap 中的条目。您可以轻松聚合成滑动windows。使用 SinkBuilder 编写 Vert.x 事件总线接收器应该很简单。几千 events/s 是一个小数字,这取决于你为每个事件做多少工作。