Мы планируем разместить 3 глобально распределенных экземпляра SQL Server в разных центрах обработки данных. Предполагается, что сайт A будет обслуживать веб-трафик и данные для определенного региона, так же как и для сайтов B и C. В случае, если центр обработки данных сайта A выходит из строя, теряет связь и т. Д., Пользователи сайта A переключаются на Сайт B или C (в зависимости от того, что запущено). Кроме того, если пользователь с сайта A переходит на сайт C, он должен иметь доступ к своим данным, как это было на сайте A.
У меня вопрос: какая технология репликации SQL (репликация SQL или сторонняя) может поддерживать этот сценарий? Мы используем SQL 2008 R2 Enterprise на каждом сайте, каждый сайт работает поверх VMWare с файловым агентом Netapp. Может ли что-то вроде распределенного кеширования помочь и в этом сценарии?
Мы рассмотрели и протестировали репликацию в одноранговой сети, но во время тестирования столкнулись с проблемами, связанными с конфликтами. Я полагаю, что есть другие глобальные центры обработки данных, которые столкнулись и решили эту проблему.
Storage Foundation для Windows - Высокая доступность с помощью Global Cluster Operation поможет вам в этом - это называется 3-way GCO. Он поддерживает несколько версий SQL (с 2005 по 2008 год) и несколько платформ (w2k3-w2k8 R2, 32-64 бит).
По сути, это «кластер кластеров», каждый сайт может иметь кластеры с одним или несколькими узлами. И данные SQL реплицируются «согласованным» способом, так что SLQ после аварийного переключения может быть запущен на резервном сайте.