Java WebSocket数据一致性与延迟

Java WebSocket数据一致性与延迟,java,websocket,messaging,hana,Java,Websocket,Messaging,Hana,假设我有一个JavaScript前端(例如Angular.js)、一个基于Java的后端(例如Spring,在Tomcat上运行)和一个数据库管理系统(在我的例子中是内存中的SAP HANA)。例如,我有一些变化相对较快的图表 我想知道一个高效快速的体系结构会是什么样子。您通常是将整个对象集合发送到UI还是只发送增量 在我的例子中,UI上的数据一致性对于应用程序正常工作非常重要,但延迟也很低,尤其是在数据合并方面 说到一致性,我通常倾向于在插入时从数据库中进行选择,然后再次读取整个对象集合,但我

假设我有一个JavaScript前端(例如Angular.js)、一个基于Java的后端(例如Spring,在Tomcat上运行)和一个数据库管理系统(在我的例子中是内存中的SAP HANA)。例如,我有一些变化相对较快的图表

我想知道一个高效快速的体系结构会是什么样子。您通常是将整个对象集合发送到UI还是只发送增量

在我的例子中,UI上的数据一致性对于应用程序正常工作非常重要,但延迟也很低,尤其是在数据合并方面

说到一致性,我通常倾向于在插入时从数据库中进行选择,然后再次读取整个对象集合,但我担心的是,这不会扩展

有没有一种通用的方法来解决这个问题,甚至是现有的框架

编辑:
目前,大约有300个对象具有两个整数属性和交叉引用,可以在毫秒内更改和重新排列,但将来可能会增加到10000个。我在这里的挑战是前端和后端之间的通信,因此前端始终具有实时一致的数据集

客户端与服务器的距离有多近?它在一英里/公里之外还是几百/几千英里之外?客户端是在internet上还是在高性能VPN上?你是靠近主干还是几十跳?如果你信任普通的互联网,那么你通常不会在网络上持续获得1毫秒的延迟

如果您在公司内部网络上,并且客户端物理上靠近服务器,例如,同一台机器、同一个本地网络,那么您可以使用WebSocket获得一位数的毫秒延迟(我个人在一家大型投资银行的内部数据中心获得了3-4毫秒的延迟)

不要过早优化。这通常是件坏事。 尽管对于任何高性能UI,只发送增量总是好的


您可能想考虑某种事件机制来减少对数据源的轮询。然后,您只会在数据实际更改时更新数据。

那么,我们在这里讨论的数据量是多少?@Aksapy目前,大约有300个具有两个整数属性和交叉引用的对象可以在毫秒内更改和重新排列,但将来可能会增加到10000个对象。我在这里面临的挑战是前端和后端之间的通信,因此前端始终具有实时一致的数据。