Alex
А можно узнать, почему в репликасете из 3 серверов отказ 1 ведет к отказу в обслуживании?
Alex
а
Alex
сорри
yopp
и не из 3 , а из 2 :)
yopp
был P+S, P сдох, остался S который стал P и запросы с rp: s пошли по пизде
Alex
не, стоп.
Sergey
я же там написал про "read preference: secondary"
Вообще, это один из нерекомендуемых read preferences
Alex
Из двух понятно
yopp
Вообще, это один из нерекомендуемых read preferences
я бы сказал что это один из рекомендуемых, когда нужно читать с secondary
yopp
потому что secondaryPreferred имеет другие эффекты
Alex
Вы в дебри залезли =)
yopp
был у нас P+S, в P едет 30к qps/i, в S едет 10k qps/r
yopp
S упал, на P внезапно приезжает 10k qps/r и P тоже уезжает
yopp
пффф
yopp
ты просто с кеш трешингом видать не сталкивался
yopp
это реальный кейс, который тебя однажды в жопу укусит
yopp
инфа 100%
yopp
Монговцы его категорически не рекомендуют
монговцы вообще чтение с seconday не рекомендуют, в принципе
yopp
когда у тебя кеш на запись и на чтение абсолютно разные
Sergey
Именно по причине, что указана выше
yopp
нет
yopp
перечитайте документацию и асю почитайте
yopp
у чтения с secondary главная проблема в replication lag
yopp
вам никто не гарантирует актуальных данных
Cocaine
перечитайте документацию и асю почитайте
дай какой нибудь линк, а то у меня на работе есть любители этой хуйни, дам им почитать
Sergey
Они на курсах явно говорят не используйте secondary only, кроме случаев когда вы точно знаете зачем)
yopp
и это не зависит от secondary или secondaryPreferred
Sergey
Актуальность будет только при чтении с primary
Sergey
Зато не будет случаев, как отсутствие слева и отвал чтения
Sergey
А если кластер не справляется - добавьте серверов
yopp
Зато не будет случаев, как отсутствие слева и отвал чтения
отвал чтения в ряде случаев лучше чем отвал записи
Sergey
отвал чтения в ряде случаев лучше чем отвал записи
Большинство приложений не будет работать корректно без чтения
yopp
большинство приложений не должно читать с secondary
Sergey
Если только что-то вроде логов, которые только пишут и не читают
Cocaine
http://www.askasya.com https://docs.mongodb.com
я конкретно про то где не рекомендуют читать с secondary
Sergey
большинство приложений не должно читать с secondary
Часто лаг реплики не критичен, а для определённых задач можно менять приоритет на лету. Драйверы это позволяют
yopp
я абсолютно согласен с подохом генов к приучению не читать с secondary, потому что никто нормально не понимает последствий
yopp
они говорят что лучше вообще не читать с secondary, если ты не понимаешь почему тебе это понадобилось
yopp
тоесть ты должен чётко понимать какую именно проблему ты решаешь
yopp
потому что в ряде случаев ты делаешь хуйню и тебе надо шард, а не реплики
yopp
точне даже так, в 90% случаев тебе надо шардить, а не реплики скейлить
yopp
запатентованный метод PVN™
yopp
Соболезную
а зря, такое случается очень часто
Sergey
Железо не справляется?
yopp
миллион и одна причина
yopp
начиная с того что сеть перегружена например
Sergey
Это не нормально
yopp
или например на реплику упало такое количество чтений, что всё стоит колом и оплог нормально не применяется
yopp
понятно что если лаг больше минуты, нужно бить тревогу, но в целом
yopp
когда ты начинаешь читать с secondary, у тебя меняются требования к инфраструктуре
yopp
корочи, вакууму — вакуумные решения
yopp
или сферические
yopp
или тороидальные
yopp
как повезёт!
yopp
но в остальном, монга на дефлоте при чтении доки — отлично летает
Sergey
Ну держать лаг реплики 250 часов... а потом будет 1250?
yopp
Ну держать лаг реплики 250 часов... а потом будет 1250?
не будет, если лаг больше oplog window реплика уйдёт в STARTUP2
yopp
Ну он тюнится
ты вот допускаешь ошибку, которую многие допускают
yopp
^^^
yopp
вот, ты должен понимать какое отставание является для тебя допустимым
yopp
большинство считает что лаг будет маленьким, но на деле ситуаций когда лаг может _временно_ возрасти, например до минут, полно
yopp
а тут ты можешь столкнутся с адовыми сайдэффектами
yopp
например чувак пароль поменял
yopp
да
yopp
по этому гены и говорят: читайте с primary
yopp
скейлите primary
yopp
secondary для HA, а не для увеличения ёмкости
yopp
да, есть ряд исключений, когда на secondary можно пустить нагрузку, но таких случаев по пальцам
yopp
и за это надо будет заплатить
Sergey
большинство считает что лаг будет маленьким, но на деле ситуаций когда лаг может _временно_ возрасти, например до минут, полно
Моё приложение не сломается, потому что критичные данные, которые должны быть консистентны, читает с primary.