Size: a a a

Чат конференции HighLoad++

2020 January 21

E

Eugene in Чат конференции HighLoad++
Phil Delgyado
SLA? Используемый стек?
Минимальный бюджет, решение под домашний проект, интересно есть ли способы обеспечить отказоустойчивость если есть всего пара VPS на разных хостингах. Пришел к выводу что при таких вводных единственный вариант - это облачные балансировщики нагрузки наподобии cloudflare
источник

PD

Phil Delgyado in Чат конференции HighLoad++
Eugene
Минимальный бюджет, решение под домашний проект, интересно есть ли способы обеспечить отказоустойчивость если есть всего пара VPS на разных хостингах. Пришел к выводу что при таких вводных единственный вариант - это облачные балансировщики нагрузки наподобии cloudflare
А как cloudflare поможет? Вообще при таких вводных правильный ответ - никак, так как оно не нужно для таких проектов
источник

ВИ

Вадим Исаканов in Чат конференции HighLoad++
Mik I.
1) своя AS и PI адреса
2) свои anycast адреса
3) DNS (желательно умный)
https://www.packet.com/developers/changelog/global-anycast-ips/
у packet.net были anycast адреса довольно дешево
ТС пишет про еще более дешевое решение, но anycast уже не выглядит слишком дорогим
источник

ВИ

Вадим Исаканов in Чат конференции HighLoad++
Eugene
Минимальный бюджет, решение под домашний проект, интересно есть ли способы обеспечить отказоустойчивость если есть всего пара VPS на разных хостингах. Пришел к выводу что при таких вводных единственный вариант - это облачные балансировщики нагрузки наподобии cloudflare
CF неплохой вариант, да
ставишь несколько бэкендов (ip бэкенд серверов) для каждого сервиса, при недоступности бэкенда CF перестанет посылать на него запросы (не мгновенно)
Amazon Route53 поможет это же реализовать
источник

PD

Phil Delgyado in Чат конференции HighLoad++
Это все про балансировку, а как проблема корреткности данных на разных хостах решается?
Если сервисы stateless, то CF и прочие аналогичные решения работают, но это скучный вариант.
А что делать с БД?
источник

E

Eugene in Чат конференции HighLoad++
Phil Delgyado
Это все про балансировку, а как проблема корреткности данных на разных хостах решается?
Если сервисы stateless, то CF и прочие аналогичные решения работают, но это скучный вариант.
А что делать с БД?
Насколько я понимаю, в таком случае настраивается траффик на один сервер, а второй находится в режиме hot standby, как только первый сервер падает база на втором сервере апрегрейдится до мастера, и трафик перенаправляется. Но не понятно в случае с CF как происходит переключение, наверное прийдется писать свой скрипт, который обращается к API CF и в случае чего должен сам апгрейдить репликацию до мастера, перед переключением трафика
источник

PD

Phil Delgyado in Чат конференции HighLoad++
Более того, переключение должно быть только вручную, так как очень мало БД с поддержкой возврата с standby на active. Кроме того нужно продумывать конкретное решение для синхронизации active и standby (там много подводных камней и разных уровней гарантий).
Т.е. CF тут нефига не поможет, если честно, точно так же можно скриптом при переключении отправлять адреса на клиентов.  Ну или иметь список адресов на клиенте и при переключении проверять "а можно ли"...
Но простой при сбое тут минимум полчаса получается, хотя для большей части систем это вполне допустимо.
источник

A

Alexander in Чат конференции HighLoad++
У route53 есть хелсчеки, которые переводят на резервный адрес при недоступности основного. Возвращать - да, вручную. Мастер-мастер городить точно не стоит
источник

E

Eugene in Чат конференции HighLoad++
Alexander
У route53 есть хелсчеки, которые переводят на резервный адрес при недоступности основного. Возвращать - да, вручную. Мастер-мастер городить точно не стоит
Переводят трафик, или postgres тоже могут в мастер апгрейдить?
источник

A

Alexander in Чат конференции HighLoad++
Eugene
Переводят трафик, или postgres тоже могут в мастер апгрейдить?
Я думаю, это уже своими костылями решать. Апнуть до мастера несложно
источник

E

Eugene in Чат конференции HighLoad++
Alexander
Я думаю, это уже своими костылями решать. Апнуть до мастера несложно
Не сложно, но опять же нужно что бы где-то скрипт крутился который будет этим заниматься
источник

A

Alexander in Чат конференции HighLoad++
Eugene
Не сложно, но опять же нужно что бы где-то скрипт крутился который будет этим заниматься
Ну есть тот же stolon+consul, если нагрузка уже выросла до необходимости автоматического фейловера, то расходы на пачку виртуалок в разных датацентрах для консула, как мне кажется, не самые большие
источник

A

Alexander in Чат конференции HighLoad++
Все уже придумано, главное, решения искать и систему в общем проектировать с хотя бы небольшой перспективой роста
источник

AT

Al T in Чат конференции HighLoad++
Vasiliy Romaneev
добавлю, программно-настраиваемый DNS
лучше всего с хелсчеками

что там у облачных я не знаю, но есть, например, консул.
Одна беда, консул тоже надо высокодоступный ))
источник

PD

Phil Delgyado in Чат конференции HighLoad++
И любой кворум требует трёх ДУ с независимыми каналами. Это очень неочевидно
источник

PD

Phil Delgyado in Чат конференции HighLoad++
Alexander
Все уже придумано, главное, решения искать и систему в общем проектировать с хотя бы небольшой перспективой роста
Увы, как раз очень мало придумано и приходится проектировать с учётом кучи вводных каждый проект индивидуально.
источник

AT

Al T in Чат конференции HighLoad++
Phil Delgyado
Увы, как раз очень мало придумано и приходится проектировать с учётом кучи вводных каждый проект индивидуально.
Ого вы тот самый Фил? Смотрел несколько видео с вашими выступлениями
источник

PD

Phil Delgyado in Чат конференции HighLoad++
Не знаю, кто именно тот самый, а то есть я, есть Фил Кулин, да мало ли...
Но если про платежные системы, то тот самый.
источник

AT

Al T in Чат конференции HighLoad++
Про платёжные системы и про подход к оптимизации схем бд...
источник

PD

Phil Delgyado in Чат конференции HighLoad++
А, да, мое.
источник