Ранее описанные технологии, такие как согласованное хеширование, генератор ID позволяют разработать сокращатель URL, который способен генерировать 100 миллионов URL в день.
Проектирование включает в себя следующие элементы:
конечные точки API перенаправление URL сокращение URL модель данных хеш-функции: хеширование + разрешение коллизий VS преобразования в base-62 а также такие вопросы, как: ограничитель частоты масштабирование веб-сервера масштабирование базы данных аналитика доступность, согласованность и надежность Эти пункты раскрыты в очень интересной главе 8 книги:
Дизайн хранилища типа Ключ-Значене состоит из понимания следующих тем:
Что мы хотим от хранилища Ключ-Значение? Односерверное хранилище Ключ-Значение РАСПРЕДЕЛЕННОЕ хранилище Ключ-Значение: Теорема CAP Реальные компромиссы для распределенных систем Системные компоненты: Партиционирование данных Репликация данных Консистентность Разрешение неконсистентности: Версии Обработка всех типов сбоев: Обнаружение сбоев, Обработка ВРЕМЕННЫХ сбоев, Обработка ПОСТОЯННЫХ сбоев, Устранение сбоев в работе центра обработки данных Схема архитектуры системы Путь записи Путь чтения Эти пункты раскрыты в очень интересной главе 6 книги:
Ранее книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно, я подготовил краткий обзор и майнд-мапу.
В главе 9 рассказывается о согласованности и консенсусе в распределенных системах. Она охватывает следующие темы:
Что такое согласованность и согласованность в конечном счете.
Ранее книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно, я подготовил краткий обзор и майнд-мапу.
Глава 7 - это все, что ваша команда разработчиков должна знать о транзакциях:
Предназначение транзакций Концепция транзакций: ACID, BASE, одно-объектные и много-объектные транзакции.