我有一个需要扩展的应用程序(IP会议服务)。它有很多独立的组件/应用程序,用不同的语言编写(主要是C ++和PHP,一些是Perl)。目前,单个安装在5台机器上运行,1-2个组件共享一个机箱。因此,每个盒子的配置都不同,因此扩展整个过程很痛苦,更不用说维护了。
各个组件从媒体代理到消息代理和数据库各不相同,因此加载就是一切,甚至是偶数。
我正考虑将所有组件放在一台机器上并添加更多的盒子,因为我在前面使用了某种负载均衡器。其他人建议我扩展另一种方式 - 添加应用程序负载变高的专用盒子 - 但这会导致维护噩梦。
你知道我应该从哪里开始的资源吗?理想情况下,我需要一些基准,哪种方法在性能方面更好? (大声思考,当我有X量的负载和Y量的内存和处理能力时,我分配它的重要性在哪里?)
答案 0 :(得分:5)
我会去虚拟化。这样您就可以拥有各种类似的配置计算机,并根据需要在它们之间分配负载,即使您将模块保存在不同的VM中也是如此。
答案 1 :(得分:1)
您需要确定最高负荷或瓶颈的位置,否则很难正确规划。
我会先看看虚拟化。它使你的应用程序: 快速部署 易于备份 在失败的情况下快速恢复