Несколько экземпляров приложения с Codeigniter - PullRequest
3 голосов
/ 15 октября 2010

Как мне поступить с созданием приложения Codeigniter, которое находится на нескольких серверах и имеет хук, который отправляет пользователей в разные экземпляры в зависимости от баланса нагрузки?

Ответы [ 3 ]

1 голос
/ 23 февраля 2011

Я бы не стал использовать PHP для этого. Маршрутизация пользователей между серверами - это работа для Apache.

Взгляните на это http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html

Ваш домен действует как прокси для многих веб-серверов. Apache балансирует запросы для каждого сервера.

Я никогда не использовал его на самом деле, но, думаю, так оно и есть.

0 голосов
/ 06 февраля 2011

Я бы поставил System на ваш лучший сервер, затем сделал бы копию приложения и переименовал их с увеличенным уникальным номером, например app1, app2 ... затем в index.php я определю переменную, которая проверяет память или процессор сервера затем сравните как:

если $ cpu> 80 || $ memory> 900 $ application = "app2";

при условии, что у вас есть 1024 МБ оперативной памяти. Кроме того, вы можете сделать еще больше, добавив сессии и заполнив переменные для каждой сессии и сделав switch () для большего количества экземпляров.

вот хороший пример работы на apache http://www.ctrip.ufl.edu/apache2-cluster-in-debian-lenny-howto

0 голосов
/ 17 октября 2010

Лично я бы не использовал хук CI, скажем, я бы использовал ngnix или apahce2 в качестве балансировщика нагрузки / шлюза для вашего приложения. И если вы беспокоитесь о загрузке, то сначала убедитесь, что вы используете Memcached (или аналогичный), чтобы попытаться снять нагрузку с основного источника данных, и, если применимо, используйте CDN для ваших образов / js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...