🎁 База System Design на примере реальных продуктов
🤩 В нашем сообществе всё больше новичков.
Как взять базу по архитектуре, System Design?
📕 Что уже есть:
База есть в моём цикле - System Design для начинающих
Приходят положительные отзывы. Очень рад, что цикл помогает чувствовать себя увереннее в архитектуре ❤️😊
💡 Чем можно дополнить:
Ещё можно усилиться свежим плейлистом Road to HighLoad c ~10 минутными видео внутри:
1) Прояснение требований - ФТ, НФТ
Пример со скидками на тарифы.
• Что благодаря вниканию в предметную область получилось сделать решение, чтобы маркетологи смогли сами заводить скидки без разработчиков. С минимальным time-to-market.
2) Проектирование API
• База
Что такое хороший API? Также обсуждение рисков добавления полей в запрос.
• Инсайт по совместимости
Предупреждали клиентов, что текущая версия действует до... Потом принудительный переход => помогает работать с техническим долгом.
• Пример с ключом идемпотентности
Который спасает от создания дублей.
3) Крупноблочная архитектура
Разбор системы на примере Яндекс Календаря.
• BFF (Backend for Frontend)
Зачем нужен отдельный слой для оптимизации API под нужды фронтенда и серверного рендеринга.
• Stateless и хранение
Почему важно проектировать сервисы без состояния для легкого масштабирования. Увидите разницу между использованием PostgreSQL для транзакций и Blob Storage для хранения гигантских объемов бинарных данных.
• Асинхронность
Пишите в комментариях, зачем ввели? :)
4) Рост баз данных
Путь от взрывного начала к оптимизациям, масштабированию.
В том числе разговор об индексах. Из-за которых можем начать тормозить! 🤦♂️ И далее что с этим делать.
5) Интеграции
• Стратегии деградации
Как спроектировать систему так, чтобы при отказе соседнего сервиса продукт продолжал работать. Пример с переходом в режим Read-only.
• Прогнозирование нагрузки
Чтобы смежная система была подготовлена к возможным пикам.
↗️ Мост от бизнеса к IT-системе
✔️ Отсюда можно подчерпнуть как мы, настоящие и будущие архитекторы - можем проложить дорожку от бизнес-требований к созданию распределенной системы.
✔️ С пониманием выполнения флоу, спецификой хранения и правильными решениями для интеграций. 💡💪
⚡️ - Полезная подборка, ожидаю ещё публикаций
👍 - Для меня это уже изученная База
—-
MAX - System Design World
VK - System Design World
Post #521
3.71K