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