У меня есть приложение (служба IP-конференц-связи), которое мне нужно масштабировать. В нем довольно много независимых компонентов / приложений, написанных на разных языках (в основном C ++ и PHP, немного Perl). В настоящее время одиночная установка выполняется на 5 машинах, при этом 1-2 компонента совместно используют одну коробку. Конфигурация каждой коробки, следовательно, различна, так что масштабировать все это сложно, не говоря уже о техническом обслуживании.
Отдельные компоненты варьируются от медиа-прокси до прокси-серверов сообщений и баз данных, поэтому загрузка - это все, но даже не все.
Я думал о том, чтобы разместить все компоненты на одной машине и добавить больше коробок, когда я иду вперед с каким-то балансировщиком нагрузки впереди. Другие посоветовали мне по-другому масштабировать - добавить специализированные блоки, где нагрузка приложения становится высокой, - но это приводит к кошмару обслуживания.
Знаете ли вы ресурсы, где я должен начать? В идеале мне понадобятся некоторые тесты, какой подход лучше с точки зрения производительности? (размышляя вслух, когда у меня есть количество нагрузки X и количество памяти и вычислительной мощности Y, где имеет значение, как я ее распределяю?)