Очень короткая глава 2 посвящена тому, как делать приблизительные оценки, чтобы начать с самых важных моментов при разработке программного обеспечения.
Концепции, которые должен знать КАЖДЫЙ разработчик программного обеспечения:
“Сила двух” Стандартные цифры задержки! Насколько быстрой является память, насколько медленным является диск и т.д. Показатели доступности Про какие ключевые метрики стоит думать Эти понятия и числа раскрыты во второй главе книги:
“System Design. Подготовка к сложному интервью” Алекса Сюй.
Отличный общий план для масштабирования любого приложения с нуля до миллионов пользователей.
Настройка одного сервера Выбор и использование базы данных Вертикальное масштабирование против горизонтального масштабирования подходов. И почему вы должны предпочесть горизонтальный Добавлен балансировщик нагрузки для горизонтального масштабирования Добавление репликации базы данных для горизонтального масштабирования Добавление кеша Добавление CDN Архитектура без сохранения состояния и с сохранением состояния и использование внешнего хранилища состояния Добавление дополнительных центров обработки данных Добавление очереди сообщений Добавление ведения журнала, метрик и автоматизации Масштабирование базы данных и дальнейшие шаги… Все это тщательно, но кратко раскрыто в Главе 1 книги:
Ранее книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно, я подготовил краткий обзор и майнд-мапу.
Глава 5:
Вступление. Как масштабировать приложения. Репликация и партиционирование. Три алгоритма репликации Репликация с одним лидером Лидеры и последователи Синхроная и асинхронная репликация Добавление новых последователей Обработка перебоев в работе узлов Технические реализации и все возможные проблемы Многолидерная репликация Случаи использования, когда это хорошо Обработка конфликтов на запись Три топологии и потенциальные проблемы Репликация без лидера Запись в базу данных, когда узел не работает Кворумы и проблемы с ними Обнаружение одновременных записей и способы разрешения конфликтов Скачать всю майнд-мапу в PDF