System Design World
5.84K subscribers
331 photos
25 videos
227 links
Улучшаем навыки проектирования систем вместе! Готовимся к System Design Interview.

Автор - Старший бэкэнд разработчик HighLoad систем, специалист кибербезопасности Невзоров Владимир - @vova_dev
Download Telegram
🚨 Пора создавать легендарные резюме!

👁‍🗨 IT - не простое!
Чтобы туда попасть нужно...

Легендарное резюме!
А его поможет создать легендарный гуру. Каким способом?

😁 Он создаст для вас легенду!
Снова встретил гуру. Который, конечно же, за деньги и нисколько не используя ИИ, который доступен и вам:
1) Сделает для вас легенду
2) Упакует
3) Проконсультирует

📦 Упаковка опыта специалиста мне более-менее понятна.
Как думаете, что кроется под словом Легенда?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7👀5👨‍💻2
💻💻💻💻💻💻💻4-й поток System Design Интенсива! Как это было?!

💻 Это было мощно! 🔥
С ранних потоков важной метрикой для меня и всего преподавательского состава являются:
1) Оценки после каждого занятия;
2) Обратная связь;
3) Степень прохождения курса.

🐦‍🔥 Конечно, всегда есть элемент удачи)
И нам снова повезло! С учениками, с их усердием и упорством. 💪❤️‍🔥

🤔 Какие сейчас на рынке проценты прохождения?
У нас — результат на скрине. Возможно, 90%. Я бы даже аккуратно сказал, что прохождение стремится к 100%. 🤓

Как вам такая интенсивная пахота?
=> За месяц взять базу System Design!

☝️ Для нас, преподавателей, это многое значит!
Так как на протяжении потока мы также вкладываемся в интенсив: в занятия, в уникальные челленджы в чате, в домашние задания.
Мы даже меняем курс на ходу!
В 4-м потоке был запрос на методичку по расчёту метрик - сразу же сел писать. Получилась методичка с расчётом трёх основных метрик, без воды, с показом, что у нас out of scope, а что самое важное! Её студенты сразу же стали применять на курсе!

Мы внимательно относимся к каждому студенту и его запросу.

👨‍💻 Если есть мысли по level up в System Design — можете написать мне в форме свой запрос — отвечу!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
System Design - дверь к финалам
Vladimir Nevzorov
System Design - дверь к финалам ты открой!

Кто фанатеет от System Design вот уже много лет и этой ночью тоже - тот я☺️

😊 Почувствуйте нотки Within Temptation, нашей ITшной жизни в созданном треке)

System Design - дверь к финалам ты открой!
[Intro]

[Verse 1]
Доска передо мной, и маркер жжёт ладонь,
Интервьюер ждёт: «Давай, покажи свой огонь».
Открываю рот — а внутри орёт легион:
«Бери монолит!» — «Нет, сервисы!» — «DDD, и только он!»

[Pre-Chorus]
Кафка манит меня: возьми, я решу всё разом.
RabbitMQ за спиной обижается тихим басом.
Postgres шепчет: не уходи, мы же были вместе.
Монга кричит: а я шардируюсь из коробки, ты же знаешь, где мне место.

[Chorus]
Все эти голоса — это просто шум.
Eventual consistency, я дойду до тебя потом.
Мне нужны шаблоны и правильный настрой.
System Design, дверь к финалам ты открой!

[Verse 2]
«А как ты шардируешь?» — звучит холодный вопрос.
И монга снова в ушах: «Возьми меня всерьёз».
Стоп. Вдохнул. Сначала — нагрузка, метрики, цель.
Сколько RPS? Какой SLA? Где у нас бутылочная щель?

[Bridge]
Я читал сто статей, я смотрел сто докладов подряд,
Хайлоад, инженеры из Netflix, как они держат свой ад.
Каждый автор уверен: иди моим же путём.
Но его боль — не моя, и его решение — не мой дом.

[Chorus]
Все эти голоса — это просто шум.
Eventual consistency, я дойду до тебя потом.
Мне нужны шаблоны и правильный настрой.
System Design, дверь к финалам ты открой!

[Finale]
Маркер замер в руке. Я рисую первый блок.
Gateway. Стрелка. Выдох. И вдох.
И вдруг — вспышка! Озарение входит в мой разум.
Я вижу всю схему — и собираю микросервисы разом!
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍2
Усилить System Design сейчас!

🍁Хотел провести очередной поток осенью.

Неожиданно стали приходить запросы на обучение 🚨

=> Поэтому решил провести System Design Интенсив сейчас.⭕️

Уже формируется группа. Мест всё меньше. 😮
В этот раз небольшой набор. Компактная группа.

Максимальное погружение для каждого.

Модули:
1) Архитектура
Монолит, микросервисы, EDA
2) Протоколы
HTTP/REST, WebSockets, gRPC
3) СУБД
Что это? Какие типы бывают. Движки, ACID, CAP.
Масштабирование - проблематика, решение.
RAID, Шардирование, репликация, ...
Для особо пытливых - уровни изоляции понятным языком, вся правда о CAP и ещё ряд deep dive тем
4) Брокеры
RabbitMQ, Kafka - со стендами, методичками, реальными запусками
5) Практика
Нарешиваем популярные System Design задачи в моменте

Также добавился AI-модуль.


И всё за месяц🤩
Успевали 4 потока до вас. Успеете и вы 📕

Преподаватели:
1) Я - Невзоров Владимир - разработчик HighLoad систем. Сейчас разрабатываю геораспределенный антибот с нагрузкой 200k+ RPS.
Спикер HighLoad++, Podlodka TechLead Crew, ...
Финалист архитектурного хакатона ВТБ
Веду архитектурную часть
2) Михаил Масягин - тимлид backend- и frontend-команд распределенной системы бэктеста в HFT-фонде.
Автор разборов Клеппманна.
Клеппманн жёсткий. Слёту не всегда поддаётся. В то же время такие важные знания о разработке высоконагруженных систем в плане СУБД Михаил переложил в чётки обучающие чанки. Даёт в связке со своим опытом разворачивания, настройкой и эксплуатацией различных типов СУБД. А также со стендами - индексы, кэширование, ...
Преподаёт и получает степень к. ф.-м. н. в МГТУ им. Н.Э. Баумана
Ведёт СУБД часть.

3) Алексей Однорал - ML разработчик, участник множества хакатонов
Финалист архитектурного хакатона ВТБ
призёр API HACK VTB
победитель Sber AI 2025

Создал набор важных стендов на архитектуру и отвечает за них. Хочет, чтобы каждый погрузился по максимуму.
Стенды запускаются одной командой на подготовленном окружение!

🌸 За весну вы получаете системное знание, базу, практику.
И в лето, да и на весь текущий год выходите с новым уровнем понимания - как в ширину, так и в глубину.

👉 Подробности здесь:
nevzorov.courses

Скоро закрываю набор. Ориентировочный старт - конец апреля.
Курс уже проходили:
Архитекторы, разработчики, аналитики, техлиды. Выше первый отзыв Ирины - фронтенда!

Доступно корпоративное прохождение ✔️

1️⃣ Первая неделя - как раз майские - мягкий старт.
+ Дополнительно задать вопрос можно в форме.

Несколько промо на раннее вступление: 5% - EARLYBIRD. Действуют до завтра.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥4
📈 Балансировка трафика == просто “раскидать запросы по серверам” !?🤔

⚠️ Это способ сделать систему устойчивее, управляемее и дешевле в масштабировании.

Что важно понимать на практике:
◦ Базово существуют балансировки на уровнях L4 и L7, которые решают разные задачи:
◦ ◦ L4 хорош, когда нужно быстро и просто проксировать соединения.
◦ ◦ L7 нужен, когда появляется логика маршрутизации по URL, headers, cookies и другим признакам.

🌝 Не каждая задача требует сложного алгоритма балансировки.
Для гомогенного backend’а может хватит обычного Round Robin.
Если машины разные по мощности -> то пригодится Weighted Round Robin - когда мы явно указываем в балансировщике веса.
Если важна привязка пользователя к конкретной ноде -> consistent hashing.

😉 Динамические алгоритмы не всегда “умнее” в реальной жизни.
Least connections и least response time звучат красиво, но часто смотрят на условный /ping, который вообще не отражает реальную деградацию. Сервер может отвечать на хелсчек и при этом умирать на тяжёлых запросах в CPU или базе.

✏️ Какой bottleneck этим не победить?
Можно раздать запросы на много хостов, но если все они ходят в один инстанс БД, потолок системы останется 😐

🤔 Какую балансировку выбирать?
Пользуемся базовым принципом:
Сначала простая система, которая работает; потом усложнение только там, где это уже действительно необходимо.


Расширенно про балансировку здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4👏1
✈️ Codex vs Claude - кто победил, а кто вежливо уступил?

☀️ Моя жизнь-практика с ИИ:
1) Набрался смелости и попробовал применить сразу двух агентов.
2) Набрался смелости снова и попробовал дать результаты друг другу :)

В итоге - один вежливо отступил. Второй мягко предложил гибрид 🧐

А вы уже пробовали такую коллективную работу? :)

P.S. Как думаете, кто оказался смелее?
👍 - claude
⚡️ - codex
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6425
🛒Event-Driven Architecture вживую!

🥸 Пора разобраться, что это за:
1) Сервисная архитектура
2) С событиями
3) Обменом через middleware
4) Обмазанная сагой 🥞

Разберемся на секции Backend в Екатеринбурге в пятницу 24.04.26! 😉

🏃 Забегу на доклад Владимира Невзорова:
«Раскрывая Event-Driven Architecture. Проектируем сервис заказа пиццы с реальным деплоем» ⤵️

❗️ Начнём с базы, построим систему огребая последовательно, применяя конкретные архитектурные паттерны.

Промокод - NEVZOROV
Приходите! Буду рад встрече!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥52
📕 Места на интенсив расхватали как горячие пирожки 🤩🔥😮
Весенний ажиотаж 🌸 🩷

Осталось всего ничего - пропахать весь май.
Что преподавателям для студентов
Что студентам для самих себя, своих целей. 🧠 🎯

Результатами поделюсь ближе к лету👌

upd. Группа сформирована, записи нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3🆒3
This media is not supported in your browser
VIEW IN TELEGRAM
❗️ Готовим кэш правильно!

📈С ростом нагрузки одни и те же запросы к БД становятся узким местом.
Кто обитает на дне океана🤨 поможет нам в такой ситуации?

❗️Кэш!
Ставим рядом с приложением и базой:
⁍ Горячие данные под рукой
⁍ В БД ходим только при необходимости

Следующий вопрос - как правильно с ним взаимодействовать?
С новым элементом приходят три независимых вопроса:
∙ Как читать?
∙ Как писать?
∙ Как инвалидировать данные?


Для конкретной задачи - это три независимых выбора.
Правильный ответ зависит от приоритетов: консистентность, скорость, простота.

👩🏻‍🦰👨🏻‍🦰 Пример: профиль пользователя
Профиль читается очень часто, почти при каждом запросе (аватарка, имя, настройки). Меняется редко. Пользователь обновил данные в настройках. После изменения новое значение должно быть видно сразу.

1) Чтение. Выбираем паттерн Cache-Aside.
Простая реализация: достаточно Redis и нескольких строк кода, без сложной обвязки.
Устойчивость к падению кэша: если Redis недоступен, приложение продолжает работать через БД.
Первый запрос к "холодному" ключу приводит к cache miss: запрос идёт в БД и только потом прогревает кэш.
2) Запись. Выбираем паттерн Write-Through.
После успешной записи данные в кэше и БД сразу синхронизированы.
Одна точка обновления: не нужно отдельно думать об инвалидации при записи.
Запись медленнее: оплачиваем и кэш, и БД. Для частых записей это может быть критично, но у профиля записи редкие.
3) Инвалидация. Выбираем TTL (например, час).
В данном случае стратегия записи Write-Through обеспечивает актуальность данных в кэше. TTL можно добавить для автоматической очистки ключей по истечении времени жизни.

✍️ Вывод
У кэша нет "правильного" паттерна на все случаи.
Есть три направления: чтение, запись, инвалидация. Под каждую задачу собирается своя комбинация.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥64👏2
This media is not supported in your browser
VIEW IN TELEGRAM
4🔥3👍1