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

Автор - Старший бэкэнд разработчик HighLoad систем, специалист кибербезопасности Невзоров Владимир - @vova_dev
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
🔥7👍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
👍31
Ой что намечается.🤯🔨
Хотим форму для участия?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Аррива!🌴💃

2-й сезон System Design Игры! Let's play!

📈 Пора бить рекорды прошлого сезона и показать, чья мозговая нейросеть работает активнее 🤯

😊 System Design World + Yandex Cloud + HighLoad++ объявляют новый архитектурный сезон!

В первом сезоне замечательная devrel Анастасия Маслова предложила раскатать игру ещё раз.
Предложено - сделано :)
У нас получилась бомбическая интеграция 🔨

😊 А что внутри?
1) Отборочный тур online для всех❗️Из любой точки мира🌎
2) Дополнительный раунд и призы от партнера — технологической платформы Yandex Cloud❗️
3) Offline финал на Saint HighLoad 22-23 июня❗️
4) Проходки для 4-х финалистов! Да-да! Мы договорились с HighLoad++ снизить цену с 78000 -> 0 рублей❗️

Как участвовать?
🔘Заполнить форму до 18.05
🔘По ней будет доступ и валидация в тг чате

Когда отборочный тур?
🔘Ориентировочно 21.05 (чт) вечером.

🕺 Вести игру буду я. Пошёл готовить вопросы 🤓
P.S. Можете предложить название секции. Вот какие были в 1-м сезоне.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥52
Один запрос и данные слиты

💁 Всего лишь старое API, незадокументированные возможности.🌟
Но киберпреступники не дремлют😈. Особенно в век AI-автоматизации.👨‍💻

🛡 Защищаться надо здесь и сейчас. И знать зловредов и их методы в лицо!

В Codeby Academy готовы:
⏺️ Научить разбирать уязвимости OWASP на реальных приложениях
⏺️ Дать SAST/DAST-инструменты, которые используют в боевых командах
⏺️ Показать Threat Modeling и Secure SDLC на живых кейсах

=> Прокачка до AppSec-инженера
🛡 Узнать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👌1
🐦‍🔥 System Design Интервью. Мой первый fail, уроки и успешный фреймворк прохождения

Разберём завтра 🔘
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
UWDC всё ближе, а митапов — всё больше. В среду, 13 мая, в 19:00 (МСК) послушаем Владимира Невзорова и узнаем больше о System Design.
-
System Design Интервью — история фейла и уроки
Владимир Невзоров
Москва, servicepipe, Senior backend
13 мая 2026, 19:00 (МСК)
-
Очень часто в рамках собеседований на позиции аналитиков, бэкендеров и даже продактов есть часть, посвящённая System Design. И, как говорят, многие её боятся) А ещё говорят, что System Design очень важен и без него прям никуда) Но почему?! Может быть это как с особым вопросом на экзамене, который добавили, чтобы было поменьше пятёрок? И нужно просто не бояться и выдать экспромт?)

Однако, лучший экспромт — это подготовленный экспромт)) И подготовиться нам поможет Владимир Невзоров. В рамках митапа «System Design Интервью – история фейла и уроки» 13 мая в 19:00 (МСК) он расскажет о том, что такое System Design и почему он важен, а также как пройти соответствующее интервью.
-
Время проведения: 13 мая 19:00 (МСК)
Формат: Онлайн (ссылка на встречу прилетит за час до митапа)

-
Занимаем места на митап!
👍31🔥1
🐦‍🔥 System Design Интервью. Мой первый fail, уроки и успешный фреймворк прохождения

❗️ Рассказал про кейс из первых прохождений System Design Интервью в конце 2010ых в отечественный БигТех.
🟢Какие сделал выводы.
🟢Озвучил грабли.
➡️И вместе с ведущими UWDC разобрали успешный пайплайн прохождения интервью.📈

🌶️ Запись уже доступна!
Смотреть - 💙 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🔥1