Книжный куб

@book_cube · ai · Russian · active

Subscribers 15.8K tracking since 24 Oct
Reach per post (ERR) 14.1%2.2K avg views
Posting 3.5/day last 13 hours ago
Reactions per 1K views 5.9 ❤ 🔥 👍

Root Cause: Stories and Lessons from Two Decades of Backend Engineering Bugs (Рубрика #Books) Прочитал несколько глав книги Хусейна Нассера, популярного блоггера (500к подписчиков на канале), что рассказывает про software engineering. Брался я за нее из простого интереса почитать не просто про архитектуру, базы данных и распределенные системы, а скорее про то, как все это ломается на проде. Собственно, эти истории автор и обещает в описании своей книги. Автор считает, что опыт инженера измеряется не только годами, количеством фичей или строк кода, а количеством багов, которые он смог воспроизвести, отследить до root cause и исправить. Это звучит почти банально, пока не вспоминаешь, сколько настоящего инженерного знания приходит именно из таких расследований: где-то узнал, как браузер ограничивает HTTP/1.1 connections, где-то разобрался с HPACK в HTTP/2, где-то впервые увидел, как file descriptor limit превращается в 504 Gateway Timeout. Мне эта книга напомнила опыт, когда я сам работал с инцидентами, писал или разбирал постмортемы, а также как-то руководил секций траблшутинга для SRE-инженеров, что хотели попасть к нам в компанию и в итоге сделал пару публичных выступлений и статей (они сейчас есть на моем сайте system-design.space: описание самого подхода к интервью и пример такого интервью). Если же возвращаться к самой книге, то я прочел несколько глав и вот о чем они 1️⃣ История про системное замедление системы. Пользователи видят, что весь продукт стал медленным. Не один endpoint, не одна кнопка, не один сценарий, а как будто “все плохо”. В итоге расследование приводит к маленькому UI-элементу: поисковая строка показывает текст вроде “Search 550M items”, а JavaScript дергает API, который выполняет SELECT COUNT(*) по огромной таблице. Причем делает это снова и снова. В трейсе обнаруживается больше 100 тысяч таких запросов за 30 минут. Хорошая деталь здесь в том, что простой ответ “добавим CPU базе” был бы неправильным. Да, база была перегружена по CPU. Но причина была не в том, что база “слабая”, а в том, что продуктовый UI породил бессмысленную backend-нагрузку. Настоящее исправление — не вертикально масштабировать симптом, а убрать саму необходимость считать точное число там, где пользователю достаточно приблизительного. 2️⃣ Истории про live translation system, HTTP/1.1, HTTP/2 и load balancer И это, кажется интересная часть для архитекторов и технических руководителей. Сначала long-lived SSE-сессии упираются в браузерный лимит соединений на один host: седьмой запрос просто висит в client-side queue. Потом включение HTTP/2 решает эту проблему, но приносит другую: много маленьких запросов, TLS, frame parsing, stream state и HPACK начинают съедать CPU на backend. Потом появляется load balancer, backend переводят обратно на HTTP/1.1, статические ресурсы кэшируются, все становится лучше — пока unlimited backend connection pool не упирается в file descriptors и TCP receive window. То есть книга хорошо показывает неприятную, но реальную картину: архитектурное улучшение редко бывает “просто улучшением”. Оно меняет профиль отказов. HTTP/2 убирает один bottleneck, но добавляет CPU overhead. Load balancer разгружает backend, но приносит новые настройки и новые default values. Увеличение лимита file descriptors помогает, но не объясняет, почему столько соединений вообще было создано. В общем, книга действительно неплохо описывает реальность траблшутинга проблемы по всему стеку и поиск root cause проблемы. Она будет полезна инженерам, кто хочет не просто рассказывать про крутую архитектуру, но и понимать как разные компоненты могут работать друг с другом, если что-то пойдет не так. В итоге, книга напоминает скорее инженерный блог по разбору инцидентов, чем обычный академический учебник и может быть полезна еще и SRE инженерам для подготовки к тем же собеседованиям. #Books #Engineering #Software #Architecture #Management #SRE

Views over time

02K4K27 May 10:1324 Oct 02:124K27 May 10:13: 0 views24 Oct 02:12: 3,960 views
Snapshots we took after posting.
WhenViews
27 May 2026, 10:130
24 Oct 2026, 02:124K

Who shared this post

Posts in other channels we index that link to this one. (Forwards with a hidden source can't be traced.)

Nobody yet.