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

问题描述 投票:0回答:1

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

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

现在,我们希望扩展我们的产品功能,我们希望开发一个实时仪表板,通过执行以下操作来执行实时数据流:

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

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

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

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

Old Architecture

Target Architecture

您对目标架构有何看法?

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

提前致谢。

hazelcast vert.x sockjs hazelcast-imap hazelcast-jet
1个回答
1
投票

看起来非常适合Hazelcast Jet。你可能会使用Sources.mapJournal()处理条目,因为它们被添加到IMap中。您可以轻松地聚​​合到滑动窗口中。使用SinkBuilder编写Vert.x事件总线接收器应该很简单。成千上万的事件是一个很低的数字,这取决于你将对每个事件做多少工作。

© www.soinside.com 2019 - 2024. All rights reserved.