нагрузки — используя PHP? Это эффективно?

Сервер 1:

<?php
$servers = array("server2",
"server3",
"server4");
$server = $servers[array_rand($servers)];
header("Location: http://$server");
?>

Сервер 2:

Клонированный сайт

Сервер 3:

Клонированный сайт

Сервер 4:

Клонированный сайт

Сервер 5:

Сервер базы данных, обслуживающий все серверы

DNS будет установлен на сервер 1, а затем скрипт перенаправит их на случайный сервер, чтобы снизить нагрузку.

Я мог бы загрузить несколько серверов 1, используя, например, Roundrobin DNS.

Кроме того, я мог бы улучшить сценарий на сервере 1, чтобы периодически проверять состояние работоспособности, чтобы убедиться, что он не перенаправляет сервер, который вышел из строя.

Это, безусловно, может сбалансировать неограниченное количество серверов, я мог бы просто увеличить количество серверов с балансировкой нагрузки через DNS, если нагрузка слишком высокая? Я не вижу проблемы с этим, но ясно должно быть, поскольку никто не использует этот метод

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

-1

Решение

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

  1. Заставьте Sql реплику (подчиненный сервер) использовать ее для чтения и мастер-пользователя для записи.
  2. Используйте Memcache или Redis для предотвращения постоянного получения общих данных из базы данных.
  3. Предотвратить ненужную загрузку / запрос.
  4. Используйте CDN
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector