Как настроить Drupal с помощью масштабирования EC2?
-
16-10-2019 - |
Вопрос
Я хочу масштабировать свой сайт Drupal, и мне было интересно, как приблизиться к нему с Drupal и Amazon EC2. Это немного связано с Как использовать Drupal в облаке с приемами спроса.
С помощью Amazon я могу отслеживать свой сервер, и если набрасываются определенные метрики, он может запустить новый экземпляр, сбалансированный. Мои вопросы тогда:
- Создает ли Drupal конкретные файлы, как пользователи делают вещи? Все ли в базе данных? (У меня есть отдельный сервер базы данных, на который указывают все мои узлы.)
- Сессии локальны или в базе данных? Я думаю о ситуациях, когда пользователь подключается к серверу A, а затем перемещается на сервер B. Пользователь потеряет что -нибудь?
Если это помогает, я использую Drupal 6.
Решение
Код Drupal Core создает файлы только тогда, когда пользователь загружает файл. С сторонними модулями файлы могут быть созданы в других случаях. Например, если вы используете Apache Solr Integration Некоторые файлы могут быть созданы; Если вы используете модуль, который реализует альтернативную систему кэширования, некоторые файлы также могут быть созданы.
sess_write () Сохраняет идентификатор сеанса в таблице "{Sessions}", вместе
$user->cache
, IP -адрес, используемый пользователем для подключения, и текущая временная метка.
db_query("UPDATE {sessions} SET uid = %d, cache = %d, hostname = '%s', session = '%s', timestamp = %d WHERE sid = '%s'", $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time(), $key);
if (db_affected_rows()) {
// Last access time is updated no more frequently than once every 180 seconds.
// This reduces contention in the users table.
if ($user->uid && time() - $user->access > variable_get('session_write_interval', 180)) {
db_query("UPDATE {users} SET access = %d WHERE uid = %d", time(), $user->uid);
}
}
Другие советы
В 2018 году, Битнам является хорошим вариантом для установки Drupal 8 на AWS EC2 с Debian Linux и стеком LAMP со всеми необходимыми компонентами. Используйте Drush & Composer для управления CMS, GIT для управления версиями. Требуется использовать AWS RDS с Эластичный бобовый стебель В качестве балансировщика нагрузки для синхронизации базы данных при использовании MySQL или MariaDB в конфигурациях Cluster Server.