Вопрос

У меня есть вопрос к администраторам баз данных: если я масштабируюсь от настройки одного веб-сервера / БД до двух настроек веб-сервера / двух БД с балансировкой нагрузки перед веб-серверами для равномерной маршрутизации входящих запросов ... как работают такие решения, как MySQL Cluster, чтобы изменение, внесенное в один сервер БД, сразу же стало известно другому (в противном случае пользователи, перенаправленные на другой сервер БД, не увидят данные или потеряют данные), или, по крайней мере, чтобы другой веб-сервер осведомлен о том, что он читает «грязные данные»; и он должен повторить попытку через X секунд, чтобы получить последние данные?

Спасибо.

Это было полезно?

Решение

В кластеризации серверов Windows (чтобы отличить ее от высокопроизводительной кластеризации) есть общий массив внешнего хранилища. Активный узел получает владение / контроль над хранилищем, и когда этот узел отказывает, хранилище «переключается» на ранее пассивный узел (который теперь является активным узлом). Существуют также различные схемы, которые позволяют использовать независимое хранилище на каждом узле по сравнению с общим хранилищем. Однако для этого требуется, чтобы приложение обладало достаточным интеллектом, чтобы знать, что оно кластеризовано, и синхронизировать два набора хранилищ.

Другие советы

ДВА способа сделать это. Активный / Активный или Активный / Пассивный. Актив / Пассив является наиболее распространенным  Данные синхронизируются на пассивном узле. Кластер представляет собой полезную конфигурацию, поскольку активный узел выходит из строя, пассивный элемент немедленно переключается, поэтому время простоя отсутствует. Кластеризация непрерывно синхронизирует 2 узла в кластере.

Я работаю с сервером SQL, но я думаю, что основная предпосылка кластеризации такая же для mySQL - это отсутствие (или отсутствие заметных) простоев при сбое оборудования.

РЕДАКТИРОВАТЬ: Кроме того, программное обеспечение для кластеризации выполняет синхронизацию. Вам не нужно беспокоиться. Вы видите узлы кластера как виртуальный каталог, который ведет себя как один сервер в Windows.

вот документ, объясняющий это

http://www.sql-server-performance.com /articles/clustering/clustering_intro_p1.aspx

Кластеризация - это также место, где несколько узлов обрабатывают рабочую нагрузку, иногда это называют активными / активными кластерами, то есть все узлы разделяют рабочую нагрузку и являются активными. Обычно это выполняется специальным программным обеспечением, таким как Oracle RAC ( RAC @ Wikipedia ) для базы данных Oracle RDBMS. , RAC позволяет Oracle масштабироваться до очень больших рабочих нагрузок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top