8

Начиная разрабатывать фактический код на моем веб-сайте и хотел бы знать, как я могу разработать или создать веб-сайт, дружественный к балансу нагрузки. Я прочитал сообщение о переполнении stackoverflow относительно масштабируемости, и выбранный ответ заявил: «Убедитесь, что вы учитываете балансировку нагрузки при разработке своего приложения». Как мне это сделать?Как разработать веб-приложение, дружественное к балансу нагрузки

ответ

3

Ваше решение сводится к окружающей среде. Если это продукт для продажи, вы не сможете контролировать реализацию балансировки нагрузки. Это означает, что «липкие сеансы», когда пользователь привязан к одному и тому же серверу в течение всего сеанса, не могут быть гарантированы. Важные сессии позволяют практически любому приложению быть сбалансированным по нагрузке, но они не так эффективны.

Если вы не можете гарантировать реализацию с помощью липких сеансов, вообще избегайте использования состояния сеанса или просмотрите решение с разделяемой сессией.

+0

+1 за упоминание липкой сессии – Aliostad

1

Ну, один ответ заключается в уменьшении зависимости от переменных сеанса. Можно передавать переменные сеанса между серверами через сеанс-сервер, но это означает, что на всех серверах есть одна точка отказа на сервере сеанса, а также снижение производительности.

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

2

1) не используют статические поля для хранения данных, статистика, ...

2) использовать сеанс с осторожностью - вы можете использовать в процессе с липкими ssessions, но я не люблю его.

3) Не следует полагаться на IP от сервера

+0

+1 для наконечника IP. Это легко забыть. –

0

Одна вещь, чтобы принять во внимание, является использование данных Session для сохранения состояния.

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

+0

Фактически вы можете использовать оба варианта, это просто липкий сценарий сеанса в среде с балансировкой нагрузки. – Aliostad

1

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

У нас была производственная среда, в которой использовался коммутатор и набор внутренних IP-адресов, в том числе один из веб-серверов (наши продукты обычно работают в закрытой среде, а не в открытом Интернете). Если у вас несколько веб-серверов, которые становятся проблемой.

1

Убедитесь, что у вас есть среда разработки/обеспечения качества, в которой вы можете протестировать свое программное обеспечение в среде с балансировкой нагрузки и увидеть проблемы в коде при его разработке, а не ждать до дня развертывания.