Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Синхронизация баз на зеркалах

Сообщения:  [1-8] 

 
 автор: Eugene77   (19.01.2008 в 19:31)   письмо автору
 
   для: cheops   (19.01.2008 в 00:17)
 

>Маловероятно, что удасться такое провернуть и с класстером - сервера вряд ли далеко разнесёте (медленно будет) и придётся питать их из одного источника.

Почему медленно?Траффик между базами не слишком велик. На полтора порядка меньше траффика серверров,
да и не спешный. Задержка в 10-40 секунд - не проблема.

Автоматическое переключение зеркал видимо можно и не делать. Просто поставить ссылки на страницах, а вот по двусторонней синхронизации контента баз так я ничего и не пойму.
Где-то в обзоре встречал, что такое делают, но подход не ясен.

   
 
 автор: cheops   (19.01.2008 в 00:17)   письмо автору
 
   для: Eugene77   (17.01.2008 в 19:42)
 

Маловероятно, что удасться такое провернуть и с класстером - сервера вряд ли далеко разнесёте (медленно будет) и придётся питать их из одного источника. Проще электричество подвести несколько каналов и организовать их переключение, что собственно и делается в дата-центрах.

   
 
 автор: Eugene77   (17.01.2008 в 19:47)   письмо автору
 
   для: cheops   (17.01.2008 в 02:29)
 

То есть в итоге для посетителя сайт должен оставаться всегда доступен.

   
 
 автор: Eugene77   (17.01.2008 в 19:42)   письмо автору
 
   для: cheops   (17.01.2008 в 02:29)
 

>Имеется в виду восстановление после внезапного отключения электричества, отключения сервера или если один сервер лишается питания, то вступает в действие второй?

Что-то в этом роде.
Я не представляю себе как можно сделать, чтобы в случае аварии на одном сервере автоматически включался второй, да ещё и без потерь в базе данных.
Я предсавил себе как можно написать программу прикладного уровня синхронизирующие два сервера, только не могу понять как перебросить посетителей с внезапно отключившегося сервера на работающий.
Ну и, разумеется, хотелось бы не программу писать, а использовать готовое решение.

В итоге хотелось бы получить комплекс устойчивый в любой из ситуаций о которых вы спрашиваете.

   
 
 автор: cheops   (17.01.2008 в 02:29)   письмо автору
 
   для: Eugene77   (16.01.2008 в 19:30)
 

Имеется в виду восстановление после внезапного отключения электричества, отключения сервера или если один сервер лишается питания, то вступает в действие второй?

   
 
 автор: Eugene77   (16.01.2008 в 19:30)   письмо автору
 
   для: cheops   (16.01.2008 в 14:51)
 

>Проще всего наладить репликацию серверов. С точки зрения программирования тут ничего не потребуется, кроме того, что записывать данные в одном сервере, а считывать с нескольких.
>
Спасибо за ответ!
Но, простите, возникло сомнение, что вы читали мой пост.
Я вот об этой фразе:
записывать данные в одном сервере, а считывать с нескольких.
Это не прибавит надёжности, а лишь убавит. Так как этот ведущий сервер всегда будет оставаться узким местом, а к нему прибавятся ещё не узкие, но способные к отказу части этой системы.
Я знаю что MySQL поддерживает репликацию данных по схеме MASTER -> Slaves.
Это вполне разумно и удобно применять для расширения сайта при увеличении потока запросов к нему.

Об этом я не спрашивал.
Меня интересуют меры применяемые для повышения отказоустойчивости при сравнительно умеренных потоках посетителей, когда сервер в состоянии всё сам обработать, но вдруг вот отключили электричество...

P.S. Кстати, об этом говорится в ваших книгах?
P.P.S. Может я вас не так понял? Тогда извините!

   
 
 автор: cheops   (16.01.2008 в 14:51)   письмо автору
 
   для: Eugene77   (16.01.2008 в 11:47)
 

Проще всего наладить репликацию серверов. С точки зрения программирования тут ничего не потребуется, кроме того, что записывать данные в одном сервере, а считывать с нескольких.

Об настройках репликации можно почитать в наших книгах
MySQL 5. В подлиннике
MySQL на примерах

   
 
 автор: Eugene77   (16.01.2008 в 11:47)   письмо автору
 
 

Как сделать, чтобы два удалённых сайта были синхронизированы? Хочу понять хотя бы принципиальный подход к этому, чтобы при проектировании не создавать проблем на будущее.
Главная цель создания таких близнецов – отказоустойчивость. Каждый из близнецов должен выполнять весь объём работы в случае отказа второго или возникновении любых проблем на какой-либо из линий связи, перегрузки, например.
То есть принцип, когда есть ведущий сервер и ведомый, насколько я понимаю, не подходит т.к. не повышает надёжности. Если оба сервера являются ведущими, то
1) Поддерживает ли такую схему MySQL? Если да, то с какой версии?
2) Чтобы отказ линии связи между близнецами не имел драматических последствий, запись в базу сервера-близнеца должна иметь отложенный характер. То есть скрипт должен получать ответ от базы, что на том же сервере, и не дожидаться ответа от базы другого сервера. А так же этот комплекс должен успешно восстанавливать синхронизацию даже при длительном разрыве связи. Возможно такое?
3) Если возможно, то хорошо, но сразу возникает проблема со столбцами аутоинкремента. Их в этом случае синхронизировать невозможно. Следовательно, при проектировании базы их нельзя использовать в качестве ключей поиска. Я могу это сразу заложить в проект, но стоит ли это делать? Это имеет смысл, если и остальные вопросы уже достаточно хорошо решаются теми или иными методами. Или лучше сделать ручную (программную) синхронизацию?
4) Что ещё нужно предусмотреть для того, чтобы создание двойника у сервера не составляло проблем?
5) Есть ли уже готовые решения?

Подскажите, пожалуйста, не слишком сложную литературу на эту тему, если встречали. Меня интересует этот вопрос не с позиции, что я прямо сейчас начну делать этих близнецов, а с позиции, что предусмотреть в проекте, чтобы потом это не составило никакой проблемы. Так что многие подробности настроек мне пока ни к чему.

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования