open atlas
↑ К треку
Основы System Design SD · 08 · 07

Строительные блоки: обзор со свободным ответом

Подсказки на свободное воспроизведение по юниту строительных блоков. Сперва ответь на каждую своими словами — включая механизм и режим отказа — затем открой образец и сравни.

SD Senior ◷ 14 min
Уровень
ОсновыJuniorMiddleSenior

Воспроизведение бьёт перечитывание. На каждую подсказку скажи или напиши полный ответ по памяти — механизм И режим отказа, от которого он стережёт — прежде чем открыть образец. Усилие реконструкции и заставляет эти блоки прилипнуть.

Реконструируй спину юнита без подглядывания: алгоритмы rate limiter и гонку распределённого счётчика, почему автоинкремент отказывает на масштабе и что его заменяет, одностороннюю гарантию фильтра Блума, как работает близость geohash и где она ломается, и как выбор лидера идёт не так и что чинит.

Вспомните перед уходом
  1. 01
    Сравни четыре алгоритма rate limiter и объясни гонку распределённого счётчика и её починку.
  2. 02
    Почему автоинкремент отказывает на масштабе и чем отличаются UUIDv4, Snowflake и UUIDv7?
  3. 03
    Сформулируй гарантию фильтра Блума, механизм и где его нельзя использовать.
  4. 04
    Как работает близость geohash и в чём проблема границы и её починка?
  5. 05
    Когда нужен выбор лидера, что такое split-brain и почему fencing token — починка?
Итог

Если смог реконструировать каждый ответ по памяти, держишь спину юнита. Rate limiter: token/leaky bucket сглаживают всплески, фиксированные окна дают 2× спайк на границе, скользящие это чинят, а гонка распределённого счётчика требует атомарной инкремент-и-проверки (fail open, отвергай через 429). Генерация ID: автоинкремент отказывает на масштабе (центральное узкое место или коллизии per-shard), поэтому используй упорядоченную по времени схему — Snowflake (64 бита) или UUIDv7 (128 бит) — сортируемую и дружелюбную к индексу, но утекающую время и зависящую от часов. Фильтр Блума: нет ложноотрицательных, настраиваемая доля ложноположительных, ~10 бит/элемент для ~1%, нет удаления (counting/cuckoo), и никогда не единственный авторитет для вредного «да». Geohashing: префикс ≈ близость для индексированного скана, но проблема границы вынуждает запрашивать ячейку плюс её 8 соседей. Выбор лидера: консенсус или lease, со split-brain, побеждаемым лишь fencing token на ресурсе — никогда не более длинным таймаутом. Нить: возьми верный блок, затем верно возьми его тонкое ядро корректности.

Что-то непонятно?

Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.