Я пишу спецификацию для приложения высокой доступности. Мне нужно низкобюджетное решение, чтобы иметь возможность переключаться между двумя центрами обработки данных. Репликация баз данных и контента, для которых я смогу управлять решениями. Какие есть решения для «перехода» с одного места на другое?
Ваша проблема двоякая. Во-первых, как вы реплицируете данные; во-вторых, как направить трафик на активный в данный момент сайт.
1: Это сильно зависит от ваших требований. Синхронная репликация стоит дорого, очень дорого и в основном сказывается на ваших сетевых расходах. Асинхронность может быть реализована множеством различных способов, как простых, так и дешевых, а также сложных и затратных на лицензию поставщика, но это не даст вам уверенности в том, что вы никогда не потеряете какие-либо данные. Поговорите с руководителями своего бизнеса, узнайте, что они хотят видеть, создайте что-то, отвечающее этим конкретным требованиям.
2: Два стандартных подхода - это изменение записей DNS (о которых вы, кажется, знаете, судя по тегам вопросов) или запуск BGP.
Большинство существующих устройств GSLB используют DNS: оборудование, которое знает о статусе ваших серверов, действует как полномочный сервер для вашего домена, выдавая ответы, которые указывают клиентам на соответствующий сайт. Время переключения при отказе зависит от TTL, установленного для зоны, и поведения клиентского программного обеспечения. Такой подход не гарантирует стопроцентного успеха, но, похоже, все воспринимают его как «достаточно хороший». Вы можете сделать то же самое без специального оборудования, просто с помощью некоторых умных сценариев (отслеживайте хосты, изменяйте файлы зоны привязки и при необходимости перезагружайте привязку).
BGP более понятен: вы рекламируете свой IP-блок с сайта, который должен получать весь трафик, и в течение времени конвергенции (15 минут или около того) весь трафик будет идти туда. Нет зависимости от сломанных преобразователей DNS или кешей имен. Однако сложнее настроить - вам нужны маршрутизаторы с поддержкой BGP на обоих сайтах.
Чтобы обрабатывать отказоустойчивый центр обработки данных в реальном времени (также известный как DR) для ваших баз данных, вам потребуется некоторое хранилище, которое может обрабатывать синхронную репликацию в реальном времени между сайтами. Все ваши большие массивы хранения могут справиться с этим, но они дорогие. В программном обеспечении Starwind есть программное обеспечение для хранения данных, которое превратит любой сервер Windows в массив хранения.
Дополнительная информация о том, что вы пытаетесь сделать, на какие платформы вы смотрите и т. Д., Будет наиболее полезной.