Сеансы балансировки нагрузки ColdFusion и облачного кластера - PullRequest
1 голос
/ 19 декабря 2011

Итак, я пытаюсь переместить свое приложение в облако, в частности, я использую RackSpace, и пока все хорошо, получил все, чтобы указать X, и обнаружил, что балансировщик нагрузки не предлагает сеансов stick через https.

Если поискать дальше, кажется, что Amazon тоже этого не делает.

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

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

Любые предложения.

1 Ответ

2 голосов
/ 19 декабря 2011

Вы можете использовать переменные клиента, а не переменные сеанса. Разница заключается в том, что переменные клиента должны быть простыми парами имя = значение, но также они могут иметь разные места хранения, которые могут удовлетворить ваш запрос. В зависимости от ваших потребностей, вы можете сохранить значения в браузере, через «хранилище cookie» или в базе данных. Вы можете выбрать способ хранения клиентских переменных в администраторе Coldfusion. Любой из этих вариантов переносит хранилище из конкретного экземпляра сервера приложений, что вам нужно для простой кластеризации. Выберите cookie-файлы, если вы не очень заботитесь о безопасности определенных значений; выберите базу данных, если это вызывает озабоченность. Очевидно, что если вы выберете базу данных, вам нужно будет настроить все серверы приложений так, чтобы они указывали на одну и ту же базу данных.

редактировать

Я не понял, что вы говорите о существующем приложении. Да, это, безусловно, будет проблемой. В этом случае вам нужно настроить балансировщик нагрузки, чтобы привязать определенный CFID и CFToken (считанный из файлов cookie) к определенному узлу в вашем кластере. Таким образом, «липкость» прозрачна для конечного пользователя и будет продолжаться только до сеанса.

1010 * редактировать *

Еще раз, основываясь на ваших комментариях - поскольку у вас есть версия Enterprise, вы можете использовать встроенную кластеризацию, предоставляемую этой версией. Вот статья, обсуждающая эту функцию - http://www.adobe.com/devnet/coldfusion/articles/clustering_cf8.html

Немного прокрутите вниз, пока не дойдете до раздела «Кластеризация и ColdFusion», в котором есть хорошая информация.

...