Consistent Hashing

System Design. Подготовка к сложному интервью - Глава 8 - Проектирование системы для сокращения URL адресов

System Design. Подготовка к сложному интервью - Глава 8 - Проектирование системы для сокращения URL адресов

Переводы: EN
Ранее описанные технологии, такие как согласованное хеширование, генератор ID позволяют разработать сокращатель URL, который способен генерировать 100 миллионов URL в день. Проектирование включает в себя следующие элементы: конечные точки API перенаправление URL сокращение URL модель данных хеш-функции: хеширование + разрешение коллизий VS преобразования в base-62 а также такие вопросы, как: ограничитель частоты масштабирование веб-сервера масштабирование базы данных аналитика доступность, согласованность и надежность Эти пункты раскрыты в очень интересной главе 8 книги:
System Design. Подготовка к сложному интервью - Глава 6 - Проектирование хранилища типа Ключ-Значение

System Design. Подготовка к сложному интервью - Глава 6 - Проектирование хранилища типа Ключ-Значение

Переводы: EN
Дизайн хранилища типа Ключ-Значене состоит из понимания следующих тем: Что мы хотим от хранилища Ключ-Значение? Односерверное хранилище Ключ-Значение РАСПРЕДЕЛЕННОЕ хранилище Ключ-Значение: Теорема CAP Реальные компромиссы для распределенных систем Системные компоненты: Партиционирование данных Репликация данных Консистентность Разрешение неконсистентности: Версии Обработка всех типов сбоев: Обнаружение сбоев, Обработка ВРЕМЕННЫХ сбоев, Обработка ПОСТОЯННЫХ сбоев, Устранение сбоев в работе центра обработки данных Схема архитектуры системы Путь записи Путь чтения Эти пункты раскрыты в очень интересной главе 6 книги:
System Design. Подготовка к сложному интервью - Глава 5 - Консистентное хэширование

System Design. Подготовка к сложному интервью - Глава 5 - Консистентное хэширование

Переводы: EN
Консистентное хеширование является краеугольной технологией для распределенных систем. Многие разработчики программного обеспечения этого не осознают, но консистентное хеширование необходимо во многих местах: балансировщики нагрузки, кэши, CDN, генераторы id, базы данных, чаты/социальные сети и многие другие системы. Эта тема состоит из: Проблема с перехешированием и почему нам нужно, чтобы хеширование было ПОСЛЕДОВАТЕЛЬНЫМ Хэш-пространство и хэш-кольцо БАЗОВЫЙ подход (введенный Каргером и др. в MIT) Расширенный подход с ВИРТУАЛЬНЫМИ УЗЛАМИ Эти моменты раскрыты в очень интересной главе 5 книги: