实际上,在我们的体系结构中,我们使用 Hazelcast IMDG ,以便在多个服务器节点之间共享有关用户操作性的信息。
我们的地图具有以下结构:[key:String|value: CustomObject]
。
现在,我们要扩展产品功能,并希望通过执行以下操作来开发执行实时数据流的实时仪表板:
在过程结束时,我们想将结果“发送”到 Vert.x Eventbus ,然后发送到套接字层( SockJS ),以便在仪表板上显示数据。
我们需要建立一个可扩展的快速系统,以便处理大量数据,例如每秒数千个事件。
第一张图片代表我们当前(旧)的体系结构,第二张图片代表我们的“目标”体系结构。
您如何看待 target 体系结构?
Hazelcast Jet 的角色是正确的还是有其他方法执行这些操作(例如,仅使用 Hazelcast IMDG )?
预先感谢。
答案 0 :(得分:1)
看起来非常适合Hazelcast Jet。您可能会使用Sources.mapJournal()
处理将条目添加到IMap中的条目。您可以轻松聚合到滑动窗口中。使用SinkBuilder
可以轻松编写Vert.x事件总线接收器。千个事件/秒是一个较低的数字,这取决于您将为每个事件执行多少工作。