Масштабирование приложения - PullRequest
4 голосов
/ 06 октября 2008

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

Отдельные компоненты варьируются от медиа-прокси до прокси-серверов сообщений и баз данных, поэтому загрузка - это все, но даже не все.

Я думал о том, чтобы разместить все компоненты на одной машине и добавить больше коробок, когда я иду вперед с каким-то балансировщиком нагрузки впереди. Другие посоветовали мне по-другому масштабировать - добавить специализированные блоки, где нагрузка приложения становится высокой, - но это приводит к кошмару обслуживания.

Знаете ли вы ресурсы, где я должен начать? В идеале мне понадобятся некоторые тесты, какой подход лучше с точки зрения производительности? (размышляя вслух, когда у меня есть количество нагрузки X и количество памяти и вычислительной мощности Y, где имеет значение, как я ее распределяю?)

Ответы [ 2 ]

5 голосов
/ 06 октября 2008

Я бы пошел на виртуализацию. Таким образом, вы можете иметь различные похожие машины конфигурации и распределять нагрузку между ними по мере необходимости, даже если вы храните модули в отдельных виртуальных машинах.

1 голос
/ 06 октября 2008

Вам нужно определить, где будет наибольшая нагрузка или горлышко бутылки, без этого правильно спланировать будет сложно.

Я бы еще раз посмотрел на виртуализацию. Это делает ваше приложение: Быстро развернуть Простое резервное копирование В случае сбоя быстрое восстановление

...