Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация баз данных / 7 сообщений из 7, страница 1 из 1
20.03.2016, 00:53
    #39196269
agiad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
Здравствуйте!
Стоит следующая задача. Есть сервер, на который идут запросы от клиентов. Он же используется в работе менеджеров. Нужно создать дубль базы данных так, чтобы клиенты могли обращаться к одному сайту (будет находится на первом сервере), а менеджеры - ко второму сайту. Причем, информация должна оперативно обновляться.
Сейчас база данных единая. Жили без проблем, пока нас не начали ддосить. Нужно разделить, чтобы в случае атаки на клиентский сайт, менеджеры могли работать. Какие могут быть варианты?
Была мысль писать все запросы с изменениями и отправлять их, раз в несколько минут, на другой сервер. Но, в этом случае, может возникнуть проблема с uid записей. И клиенты и менеджеры могут создать заказ с одинаковым uid, а к нему привязывается сопутствующая информация. Т.е. будут косяки.
Есть ли какие-то, более-менее, стандартные решения, чтобы не городить огород?
...
Рейтинг: 0 / 0
20.03.2016, 01:21
    #39196275
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
То, что вы хотите называется "репликация" на этом столько копий уже сломано в любой БД, что хватит ракету построить и в космос запустить. В случае двух полноценных баз - это master-master репликация. Сама по своей природе штука глюкавая, полная противоречий и подводных камней.

Можете поискать конечно доки по настройке master-master репликации для MySQL, но как правило, если само приложение (сайт) не заточено под использование двух мастеров - то могут выползти большие проблемы с рассинхроном данных.

Обычно такую задачу комплексно решают и на стороне БД и на стороне приложения. Например, настроить обычную стандартную master-slave репликацию, и пока всё хорошо, оба сайта работают с master версией. А когда всё плохо - клиенты идут лесом, а менеджерский сайт переключается на slave копию, которая становится мастером. Как только опять всё хорошо, мастер (и менеджерский сайт) снова переключаются на первую копию базы.
...
Рейтинг: 0 / 0
20.03.2016, 02:30
    #39196284
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
agiadЖили без проблем, пока нас не начали ддосить. Нужно разделить, чтобы в случае атаки на клиентский сайт, менеджеры могли работать.Я бы это попробовал разделить физически сервер сайта (т.е. nginx, Апач, PHP или что у вас там) и сервер БД, а на сервере сайта настроить ограничения таким образом, чтобы при DDOS-е не создавалась слишком много коннектов к БД.
...
Рейтинг: 0 / 0
20.03.2016, 10:13
    #39196340
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
agiadЗдравствуйте!
Стоит следующая задача. Есть сервер, на который идут запросы от клиентов. Он же используется в работе менеджеров. Нужно создать дубль базы данных так, чтобы клиенты могли обращаться к одному сайту (будет находится на первом сервере), а менеджеры - ко второму сайту. Причем, информация должна оперативно обновляться.
Сейчас база данных единая. Жили без проблем, пока нас не начали ддосить. Нужно разделить, чтобы в случае атаки на клиентский сайт, менеджеры могли работать. Какие могут быть варианты?
Была мысль писать все запросы с изменениями и отправлять их, раз в несколько минут, на другой сервер. Но, в этом случае, может возникнуть проблема с uid записей. И клиенты и менеджеры могут создать заказ с одинаковым uid, а к нему привязывается сопутствующая информация. Т.е. будут косяки.
Есть ли какие-то, более-менее, стандартные решения, чтобы не городить огород?

так спасаться от ддоса это бред и костыли
фронтенд настраивается на highload, а против ддоса делаются соответствующие настройки и договорённости с ДЦ (датацентром) + работа на самом сервере
БД можно поставить и на отдельный сервер, но в данном случае это дело 10е
если хотите совсем просто, то покупаете себе отлаженную стороннюю защиту и забываете про ддос
...
Рейтинг: 0 / 0
20.03.2016, 11:04
    #39196352
agiad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
anvanoОбычно такую задачу комплексно решают и на стороне БД и на стороне приложения. Например, настроить обычную стандартную master-slave репликацию, и пока всё хорошо, оба сайта работают с master версией. А когда всё плохо - клиенты идут лесом, а менеджерский сайт переключается на slave копию, которая становится мастером. Как только опять всё хорошо, мастер (и менеджерский сайт) снова переключаются на первую копию базы.

думаю, хороший вариант. буду думать.

По поводу защиты от ddos - попробуем рассмотреть этот вариант. Пока была только одна атака, крайне не хотелось бы повторения.
...
Рейтинг: 0 / 0
20.03.2016, 12:54
    #39196392
reshstroj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
agiadБыла мысль писать все запросы с изменениями и отправлять их, раз в несколько минут, на другой сервер. Но, в этом случае, может возникнуть проблема с uid записей. И клиенты и менеджеры могут создать заказ с одинаковым uid, а к нему привязывается сопутствующая информация. Т.е. будут косяки.
Есть ли какие-то, более-менее, стандартные решения, чтобы не городить огород?
Смотря какой у вас DDOS и можно ли от него частично защититься отрубив не нужные страны или особо назойливые IP. По поводу дублирования уникальных ключей - да, это проблема. Чтобы базы можно было разделить, на независимые части, ее нужно специально проектировать. Например ключи записей которые не должны дублироваться, нужно вносить только в одной точке и первичный ключ может быть и автоинкрементом (пользователи, клиенты), а оперативную информацию - заказы, отгрузки и т.п., которая может быть создана в любом месте нужно идентифицировать по GUID.
...
Рейтинг: 0 / 0
20.03.2016, 12:58
    #39196393
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронизация баз данных
agiadПо поводу защиты от ddos - попробуем рассмотреть этот вариант. Пока была только одна атака, крайне не хотелось бы повторения.
Сейчас cloudflare это все бесплатно делает. Да даже если возникает необходимость в дополнительных опциях, то крайне дешево.

У Qrator ценовая политика заточена под политический распил/высококонкуретные продажи/прочие горячие темы - просто посмотрите список клиентов, которыми они хвастаются.
Что там делает ivi - кинотеатр из ненужных фильмов, для меня загадка.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация баз данных / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]