За последние 24 часа нас посетили 18272 программиста и 1607 роботов. Сейчас ищут 1655 программистов ...

Зеркало сервера

Тема в разделе "Прочее", создана пользователем Intrerio, 13 окт 2016.

  1. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    И снова здравствуйте.
    Есть рабочий сервер на котором содержится всего лишь один проект. Проект черезвычайно важен и стабильность его работы это деньги компании. Пришло время придумать запасной вариант на случай если что то пойдет не так (ляжет сервер, дата-центр скажет аривидерчи или еще что то). Словом, нужен зеркальный сервер который будет дублировать первый и в случае отключения первого либо сбоя, все запросы будут уходить на зеркало. Кто подскажет, в какую сторону смотреть для реализации сего задума?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Нанять системного администратора, он настроит на разные дата центры, думаю предложит облачные, чтобы платить минимум пока работает рабочий сервер
     
  3. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    берется в хецнере вторая железка с которой синхронизируется боевой сервер. Берется виртуалка в том же хецнере на котором разворачивается балансир и настраивается так что роутит запросы на слейв если лежит боевой сервер.
    Всё.
    И да, настроить все может разово сисадмин любой или спецы провайдера.
    Если полагается что датацентр хецнера ляжет вероятнее чем ваши приложения, то точно также масштабируете на другой датацентр.
     
    denis01 нравится это.
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    разово сможет любой сисадмин настроить, да. Но работать при сбое оно не будет у любого сисадмина. =)
     
    denis01 нравится это.
  5. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Ну схему с двумя железками реализовать это понятно. Вместо роутера в виде отдельного сервера можно использовать настройки доменного имени. Суть вопроса на данном этапе в том, как делать синхронизацию на лету. Менять весь код системы и добавлять двойные функции или есть более простой вариант
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    базы это умеют делать и файловые системы тоже можно для этого найти или софт
     
  7. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    базы живут на отдельных серверах образуя кластеры в таких проектах. Синхронизироваться умеют из коробки большинство зрелых и популярных СУБД, либо доставляется и настраивается отдельный их компонент для этого (кластеры) либо обходятся репликацией. Исчерпывающих инструкций и для того и другого полно.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ох не всё оно так просто.
    например, когда ведущий сдох, то ты переключаешься на ведомого, но он-то настроен как ведомый, а не ведущий, и когда ведущий поднимется, то его поднимать как ведущего или как ведомого? И что потом делать?
    :D
     
    denis01 нравится это.
  9. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Тут практики нет, но обычны в дата центре должен быть отдельный тупой сервер или роутер который мало вероятно если упадёт, и то если падает, сразу может подняться. Вот он и должен переключать веб трафик, для баз думаю такой вариант тоже можно настроить.
    Думаю большие проблемы возникают когда не хватает ресурсов.
     
  10. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    К примеру, в случае текущего проекта, если говорить о базах данных (и не только), то есть балансиры к которым подключаются клиенты, обращаясь к серверу баз данных, а те уже разруливают куда роутятся запросы - на мастера или на слейв. Балансир в данном случае это обычная виртуалка на CentOS. А разруливать трафик в простом случае можно, банально, доменными записями, что и делается. Первый не ответил - будет валиться на второй, они в конкретном примере равноценны.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не о том спросил. Я говорю, когда мастер вернулся в мир живых, он будет ли мастером?

    (брадобрей который бреет себя является ли брадобреем)
     
  12. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    в представленной схеме - да, будет.
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    так у него данные устаревшие, нафик он нужен такой мастер? Слейв работал на запись несколько часов, теперь только у него данные свежие.
     
  14. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
  15. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
  16. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Сервера бд обычно в кластере, между ними настроена синхронизация (i.e. https://docs.mongodb.com/manual/core/sharded-cluster-components/ как у нас)
     
    #16 Zuldek, 24 окт 2016
    Последнее редактирование: 24 окт 2016
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык она настроена. Поэтому когда мастер упал - запросы на запись и любые другие изменения посыпались на слейва. Через какое-то время ты мастера поднимаешь. На нём устаревшая инфа, понимаешь? Ты должен мастера со слейвом местами поменять. Но слейв-то настроен как слейв. Если вдруг они решат синхронизироваться, что будет? Уверен ли ты, что всё пройдёт как надо? =) Врубаешься?
    --- Добавлено ---
    монго тут вообще не при делах, это не классическая бд, там изначально нет гарантии консистентности прямо в доке написано и на этом там этот вопрос закрыт. А в мускуле с посгресом че делать? =)