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