У меня есть два внутренних сервера, на которых установлены идентичные установки MySQL, настроенные в Конфигурация master-master, которая, похоже, работает отлично. Т.е. Я могу манипулировать таблицами и данными на одном, а изменения мгновенно отражаются на другом, и наоборот.
Я установил MySQL Proxy на отдельную машину с обратной стороны. -конечные серверы, указанные в командной строке моего командного файла.
Я могу получить доступ к своей базе данных через Workbench, используя адрес прокси-сервера.
Мой вопрос: как и что делегируется каждому серверу? В документации указано, что прокси разделяет клиентов с помощью циклического перебора (я предполагаю, что запросы просто разделяются поровну?). Означает ли это, что фактически созданные PDO-соединения распределяются или это запросы, которые ему отправляются?
Если это позже, разбивается ли это -запросы тоже? Если это не так, то нужно ли мне перекодировать более сложные операторы SQL, чтобы воспользоваться преимуществами разделения клиент/соединение?
Простой пример того, как, по моему мнению, нужно будет переделать запрос:
Код: Выделить всё
$SQL = "SELECT id FROM my_table LIMIT 1000";
Код: Выделить всё
$results = array();
for($1=0;$idbconnect;
$r = $conn->prepare('SELECT id FROM my_table WHERE id = ?');
$r->execute(array($i));
array_push($results, $r->fetch);
$conn->close();
}
Я знаю LIMIT это не 'id', это просто пример.
Подробнее здесь: https://stackoverflow.com/questions/234 ... -balancing
Мобильная версия