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