繁体   English   中英

持久性基于优先级?

[英]Persistence based on priority?

我有一个监视应用程序,该应用程序通过gui显示了许多应用程序服务器的状态。 通过向应用服务器发送状态请求来工作。 应用服务器依次查询其所有组件的状态,建立状态响应消息并将该消息发送到监视应用。 监视应用程序将状态消息中的信息写入数据库,该消息又显示在GUI上。 整个监控应用程序均使用JavaSE完成。

我的问题是……由于需要持久保存大量数据,数据库难以跟上。

我考虑过的解决方案是为状态消息的组件分配优先级,然后根据优先级将其持久保存到数据库中。

是否可能有更好的解决方案来解决这个问题?

我想知道,如果您的数据库跟不上存储数据的速度,那么对于应用程序服务器来说,要保持对状态请求的响应可能也是沉重的负担。

我不知道状态消息中包含哪些信息以及要求是什么。 一些选项是:

  • 状态消息可能(几乎)与先前的状态消息相同。 在这种情况下,您只能存储新消息或仅存储差异。
  • 将更多(最近的)消息保留在内存中,并且仅每分钟/ 10秒等持续存在。
  • 使持久保存在数据库中更有效率。 也许您可以减少索引或约束。 您还可以尝试批处理大量状态报告(也许可以将它们保存在UI的内存中,直到批处理被持久化为止)。
  • 减少状态报告消息的数量。 也许某些组件的消息发送频率较低。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM