Разработка с Дарьей Матвеевой – Telegram
Разработка с Дарьей Матвеевой
75 subscribers
15 photos
15 links
Этот блог про разработку на Java. Пишу про проблемы, с которыми сталкиваюсь, и их решения.
Download Telegram
В этом посте - обзор решения задач по System Design, приведенного в главе “System design and scalability” из книги “Cracking the coding interview”.

Алгоритм может быть полезен тем, кто только начинает разбираться в теме.

Автор считает, что вопросы по SD предназначены для того, чтобы выяснить, как бы вы спроектировали реальную систему на работе, если бы ваш менеджер об этом попросил. Поэтому так и нужно действовать на интервью. Задавать вопросы. Находить компромиссы. И помнить, что есть хорошие решения и плохие решения, но нет идеальных.

https://dmatveeva.github.io/System-design-and-scalability/
Алгоритм решения задач на интервью по System Design.
Когда в системе всего один сервер. ➡️
Добавляем базу данных.➡️
Добавляем балансировщик нагрузки.➡️
Делаем репликацию базы данных.➡️
Добавляем кэш и CDN.➡️
Добавляем общее хранилище данных о сессиях - реализуем stateless-архитектуру.➡️
Развертываем систему в 2-х дата-центрах.➡️
Добавляем очереди сообщений и инструменты для логгирования, CI/CD и сбора метрик.➡️
Делаем шардирование БД.