Мой первый вопрос: я часто читаю о людях, использующих несколько выделенных серверов, для запуска своих сайтов и обработки запросов от пользователей. Но как они это делают? Я имею в виду, что когда я ввожу доменное имя, DNS разрешает карты, относящиеся к IP-адресу, но после этого я теряюсь .. есть какая-то архитектура ведущего/ведомого там, чтобы загружать баланс входящих запросов среди (потенциально) сотен серверы?Как работают несколько серверов для синхронизации веб-приложений?
Если это так, как различные серверы используют общие данные (например, база данных)? Будут ли они подключены к одному жесткому диску?
ответ
ultramonkey даст вам хорошее описание того, как распределять нагрузку между многими серверами, так что вы видите 1 IP-адрес, но соединение получает направляется к одному из многих серверов (отказоустойчивость входит в комплект).
Если у вас нет веб-серверов, используя то же хранилище (общее хранилище может быть сложно, вы должны использовать SAN с «общей» файловой системы, как GFS или базы данных), то вы должны включить sticky sessions которые сказать маршрутизатор, который каждый клиент выберет сервер для связи в первый раз и сохранит его с этим сервером. Это менее отказоустойчиво (но в Интернете вам просто нужно обновить сломанное соединение для начала), но гораздо проще архитектор (и быстрее, поскольку каждый веб-сервер может оставаться независимым)
Другая проблема, Необходимость в действительно отказоустойчивой ситуации заключается в том, чтобы находить физические серверы далеко друг от друга, что повышает проблемы с производительностью для большинства проектов совместного использования (т. е. вы не можете поместить все свои серверы в SAN, если они находятся в разных странах), использовать подход с несколькими серверами, используя одно DNS-имя и регулярно реплицируя данные между ними. DNS load balancing, возможно, самый простой способ использования нескольких веб-серверов в качестве единого веб-сайта.
В этих случаях БД часто может представлять собой единую базу данных, с которой все серверы общаются или могут совместно использоваться, используя кластеризацию или чаще регистрируя журнал, чтобы обеспечить резервную копию, готовую к вводу в сеть, если первичный сбой , Лог-доставка чаще всего используется для серверов резервного копирования, чем расположенных далеко.
1) Вы можете использовать NLB (Network Load Balancing) - он будет использовать один и тот же IP-адрес для всех серверов в ферме http://en.wikipedia.org/wiki/Network_Load_Balancing_Services http://technet.microsoft.com/en-us/library/cc759510.aspx
2) SQL кластеризация для БД и общий файл хранения для данных не-Relation http://www.sql-server-performance.com/articles/clustering/clustering_intro_p1.aspx
- 1. Как сохранить несколько серверов DB для чтения/записи в синхронизации?
- 2. ищет Mysql резервного копирование/предложения синхронизации (несколько серверов синхронизацию 1)
- 3. Использование rsync для синхронизации двух серверов
- 4. Ratchet несколько серверов
- 5. Каков наилучший способ синхронизации нескольких серверов Linux?
- 6. Нити синхронизации не работают
- 7. Несколько прокси-серверов с восходящим потоком не работают
- 8. Несколько серверов TFS для того же проекта
- 9. Как создать несколько игровых серверов?
- 10. Как запустить несколько серверов node.js
- 11. Heroku - установить несколько серверов
- 12. один домен несколько серверов
- 13. Несколько серверов с идентичными службами
- 14. noVNC Несколько серверов Localhost
- 15. node.js несколько локальных серверов
- 16. Управление доменом (несколько серверов)
- 17. Несколько Memcached серверов вопрос
- 18. Несколько серверов и Memcached
- 19. Как работают процессы синхронизации с использованием сигналов?
- 20. SSL Несколько серверов
- 21. Развертывание на несколько серверов
- 22. Несколько удаленных серверов для того же проекта
- 23. Несколько серверов Worklight для конфигурации одного хоста
- 24. Несколько серверов MDM, несколько сертификатов APNs?
- 25. Узел + Passport.js + Сессии + несколько серверов
- 26. Несколько MySQL-серверов с codeigniter
- 27. Как использовать несколько прокси-серверов в urllib2?
- 28. C# несколько серверов - несколько клиентов латентность
- 29. Загрузка одного файла на несколько серверов
- 30. Spring данные Neo4j несколько серверов