论坛首页 Java企业应用论坛

对配置管理系统的架构优化

浏览 1694 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-02   最后修改:2011-04-02
大型的配置管理系统涉及到众多对象关系,用hibernate管理对象关系非常方便,用延迟加载性能也不错。

但最近碰到了下面的问题:
当配置管理系统要并发生成大量配置文件的时候,开多线程查询数据库会因为hibernate反复调用延迟加载,让数据库负载很高,系统整体性能下降。

解决步骤1
根据并发和非并发模块应该用消息队列解耦的原则:
把配置管理系统并发生成大量配置文件的模块抽离出来单独部署在只读数据库,此时可以降低配置管理母系统的负载,还可以通过增大配置文件生成子模块的部署数量来增加并发生成配置文件能力。

解决步骤2:
当hibernate查询出现性能问题的时候,就放弃hibernate直接用sql,只查出需要的信息
此时被单独部署的配置文件生成子模块还是在用hibernate进行大量查询,单台并发能力仍然上不去。所以在这个小范围内放弃hibernate直接用sql提高性能是很好的选择。


关键动作:
1.并发与非并发模块用消息解耦
2.在解耦后的并发模块放弃hibernate

这样既保证了配置管理母系统用hibernate的优势,又解决了批量生成众多配置文件的性能问题
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics