architecture - 扩展应用程序

标签 architecture distribution

我有一个需要扩展的应用程序(IP session 服务)。它有很多独立的组件/应用程序,用不同的语言(主要是 C++ 和 PHP,一些 Perl)编写。目前,单个安装在 5 台机器上运行,1-2 个组件共享一个盒子。因此每个盒子的配置都是不同的,所以扩展整个东西是一件痛苦的事,更不用说维护了。

各个组件从媒体代理到消息代理和数据库各不相同,因此负载几乎是平衡的。

我正在考虑将所有组件放在一台机器上并添加更多盒子,同时在前面加上某种负载均衡器。其他人建议我以另一种方式扩展——在应用程序负载变高的地方添加专门的盒子——但这又导致了维护的噩梦。

你知道我应该从哪里开始的资源吗?理想情况下,我需要一些基准,哪种方法在性能方面更好? (大声思考,当我有 X 量的负载和 Y 量的内存和处理能力时,我如何分配它有什么关系?)

最佳答案

我会去虚拟化。这样,您可以拥有各种类似的配置机器,并根据需要在它们之间分配负载,即使您将模块保存在单独的 VM 中也是如此。

关于architecture - 扩展应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174106/

相关文章:

api - 面向服务与面向API

c++ - directshow架构风格

architecture - 模块化系统架构

ios - 哪种 iOS 架构模式更好地优化代码 谁能解释一下?

java - 使用 Maven 分发可以单独跟踪每个依赖项的 swing 应用程序

perl - 如何将我的 Perl 应用程序作为单个文件分发?

algorithm - 如何从 2 个列表中确定最佳组合

php - 在MVC中应该如何构建模型?

c# - 将数字拆分为多个范围

python - 在 numpy 数组中查找局部最大值