❓А зачем нам вообще ретраи?
Не так давно я попытался провести воркшоп по ретраям на основе репозитория и своих теоретических изысканий. Получилось говнястенько, но получилось! 💩
🆙 В конце этого воркшопа мне один очень крутой коллега (а мы других не держим) задал вполне легитимный вопрос: "Зачем нам вообще все это считать? Вот у меня задача есть, я везде могу сделать 5 ретраев и экспоненциальное увеличение таймаутов. И этого вполне хватает. Если за 5 раз сервис не ответил, значит, что он конкретно недоступен и смысла ретраить больше нет."
Тут я понял, что проебал мотивационную часть и в своем воркшопе и в цикле постов. 😅 Кек)
И это правильный комментарий, но мы тут собрались не для того, чтобы ретраями чинить упавшие сервисы.
🅰️ Все дело в облаке.
Если помните, мы все с вами хостимся в облаке. Почти все. А в облаке, база – не база, а абстрактный набор железок, которые где-то перезапускаются, выгорают и что-то делают помимо основной работы.
В облаке у вас нет гарантии, что два соседних запроса выполнятся на одной и той же машине. И вот именно тут вам помогут ретраи и то, что мы с вами разбирали. Вся эта тема была про то, как из ненадежных элементов построить что-то чуть более надежное.
🙅 То есть, вы пульнули запрос, а он по раунд-робину попал на какой-то залупный сервер у параши. А вы вместо того, чтобы ждать, пока он очнется, берете и пуляете новый запрос, который попадает на королевский сервер. По итогу, именно это и улучшает показатели вашего конечного сервиса. (Да, вы так же делаете, когда ждете своей очереди в Overwatch 2! Вы тоже ретраите, когда перезаходите в лобби!)
Для улучшения показателей мы и делаем ретраи и именно это мне хотелось показать в цикле. А еще убрать у вас (и у себя, конечно) инфантильное желание въебать 5 ретраев по экспоненте и оставить осознанный мотив втрепать всего два линейных, но по делу. Немного пошевелить мозгами. 🧠
P.S. В общем, всем спасибо, кто дочитал и полайкал эту душнятину! 🙏🙏🙏 Буду и дальше работать над такими штуками и бороться за вторые места!
#ресайленс
Post #88
71
- 🔥 3