Size: a a a

Чат подкаста «Разбор Полётов»

2021 January 19

A

Anton in Чат подкаста «Разбор Полётов»
Да, все так
источник

SE

Sergei Egorov in Чат подкаста «Разбор Полётов»
https://twitter.com/VMwareTanzu/status/1351571394434379779?s=20

Себастиэн будет про Spring Native рассказывать скоро
источник

D

Dima in Чат подкаста «Разбор Полётов»
гении
источник

D

Dima in Чат подкаста «Разбор Полётов»
кто-то собирает тачку под киберпанк
источник

D

Dima in Чат подкаста «Разбор Полётов»
я хочу мощный пк для игр на высоких в грааль)
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
а погодите сегодня же Олег про грааль новый рассказывать будет
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
Dima
я хочу мощный пк для игр на высоких в грааль)
найди 30хх нвидию и будет тебе щастье )
источник

D

Dima in Чат подкаста «Разбор Полётов»
Artjom Kalita
найди 30хх нвидию и будет тебе щастье )
скорее тредриппер 64 ядра и 128 гигов оперативы
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
или 5700хт радион
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
а блин криво прочитал
источник

D

Dima in Чат подкаста «Разбор Полётов»
источник

VI

Vladimir Ivanov in Чат подкаста «Разбор Полётов»
Andrei Rebrov
Как не уронить свой сервис под нагрузкой, на примере Signal.

Люди массово переходят из вацапа в Signal. Серверы Signal не выдержали и совсем лежали почти 14 часов, а испытывали серьезные трудности больше суток. Не лучшее время, чтобы падать :( Официальный твиттер сигнала при этом хранил молчание, будто это не модный стартап, а какая-то древняя корпорация. Жаль. Надеюсь, позже они опубликуют подробный разбор, что случилось.

Пока поделюсь, как мы однажды сами положили свои серверы и как от этого защищаемся теперь. Почти все мобильные приложения отправляют запросы на сервер, например, для оформления заказа или отправки сообщения. Важно, как себя ведут мобильные приложения, если сервер ответил с ошибкой. Очевидное решение — просто повторить запрос ещё раз, как только получил ошибку, незаметно для пользователя.

В одном проекте именно так мы и сделали. Всё было хорошо, пока серверу не стало плохо на пару минут. Если обычно на сервер приходили 100 запросов в минуту (полтора запроса в секунду), то за три минуты скопились 300 запросов и теперь, стоило серверу очухаться, как ему насыпали все 300 запросов в одну секунду. То есть для сервера это выглядело как рост нагрузки в 200 раз и он опять ложился под нагрузкой. Очень неприятная ситуация. Мы сами себя задидосили, своими же собственными мобильными приложениями. 🙈

Есть две компоненты решения этой проблемы:

🛑 Первая: сервер должен уметь ответить «довольно!», и клиенты должны перестать повторять запрос, если получили такой ответ. Интересно, что именно этой функции в Android-клиенте Signal не было и они добавили её во время аварии.

⏱ Вторая, более сложная и интересная, но тоже классическая: exponential backoff (экспоненциальная задержка). Идея очень простая: если сервер не ответил в первый раз — ждем 1 секунду и повторяем запрос. Во второй раз — ждем 2 секунды, в третий — 4, в четвертый — 8. То есть с каждой неуспешной попыткой, даем серверу больше времени прийти в себя. У Signal эта функция реализована, но во время аварии они добавили jitter — небольшую случайную задержку, чтобы клиенты не набегали на серверу толпой, через одинаковые интервалы времени после его падения, а нагрузка была более плавной. Обычно, в этом же коде реализуют ещё паттерн circuit breaker, когда после определённого числа ошибок «выбивает пробки» и запросы прекращаются совсем.

Используйте оба приема и будьте здоровы!

💭 Есть твит и телеграм-пост в популярном канале, в которых утверждается, что причина падения сигнала — в само-дидосе (мол, анекдот). Это маловероятно. Во первых, exponential Backoff в сигнал внедрили больше 2 лет назад и он здорово распределяет нагрузку; во вторых, изменения коснулись только Android клиента. Не верьте советским газетам, читайте первоисточники.
Это пиздец, Андрей, во всех мануалах написано про экспоненциальную задержку
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
источник

D

Dima in Чат подкаста «Разбор Полётов»
12/10
источник

VG

Vik Gamov in Чат подкаста «Разбор Полётов»
А я думал опять Обама с Байденом зассали все подъезды
источник

D

Dima in Чат подкаста «Разбор Полётов»
Vik Gamov
А я думал опять Обама с Байденом зассали все подъезды
Витя
источник

D

Dima in Чат подкаста «Разбор Полётов»
не в том чате
источник

VG

Vik Gamov in Чат подкаста «Разбор Полётов»
Vik Gamov
А я думал опять Обама с Байденом зассали все подъезды
Сорри сорри, это у другой канал
источник

VG

Vik Gamov in Чат подкаста «Разбор Полётов»
Dima
не в том чате
Да да
источник

D

Dima in Чат подкаста «Разбор Полётов»
пс стрим топ
источник