2013-11-11 4 views
0

Я разместил сайт drupal на amazon и хотел масштабировать dbserver для обработки увеличенного трафика. Я включил Read Replica of dbinstance RDS. Я не знаю, что все изменения должны быть сделаны с конца drupal, чтобы заставить это работать.Прочитайте конфигурацию реплики в drupal

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

ответ

1

Начиная с Drupal 7, они очень легко использовали его с установкой MySQL master (Read/Write) -slave (только для чтения). Предположим, что у нас есть 2 сервера MySQL, настроенные в режиме master-slave.

В settings.php, начните с основной конфигурации MySQL.

$databases['default']['default'] = array(
    'driver' => 'mysql', 
    'database' => 'mysql-master-db', 
    'username' => 'mysql-master-username', 
    'password' => 'mysql-master-password', 
    'host' => 'mysql-master(Read + Write)-IP', 
); 

Теперь, ниже, добавьте следующий код для настройки ведомых устройств.

$databases['default']['slave'][] = array(
    'driver' => 'mysql', 
    'database' => 'mysql-slave1-db', 
    'username' => 'mysql-slave1-user', 
    'password' => 'mysql-slave1-password', 
    'host' => 'mysql-slave1(Read-only)-IP', 
); 

Теперь ниже этого, если вы хотите какой-либо из выбранных запросов использовать подчиненный сервер, а затем использовать следующий синтаксис:

$query = db_select('node', 'n', array('target' => 'slave')); 

Предоставляя массива («цель» => «ведомый»), запрос будет работать против одной из подчиненных баз данных. Если на одной странице есть несколько таких запросов, все они будут запускаться на одном подчиненном сервере. Если подчиненное устройство недоступно, то этот параметр будет проигнорирован и запрос будет выполняться против ведущего устройства.

Смежные вопросы