Строительные блоки: обзор со свободным ответом
Подсказки на свободное воспроизведение по юниту строительных блоков. Сперва ответь на каждую своими словами — включая механизм и режим отказа — затем открой образец и сравни.
Воспроизведение бьёт перечитывание. На каждую подсказку скажи или напиши полный ответ по памяти — механизм И режим отказа, от которого он стережёт — прежде чем открыть образец. Усилие реконструкции и заставляет эти блоки прилипнуть.
Реконструируй спину юнита без подглядывания: алгоритмы rate limiter и гонку распределённого счётчика, почему автоинкремент отказывает на масштабе и что его заменяет, одностороннюю гарантию фильтра Блума, как работает близость geohash и где она ломается, и как выбор лидера идёт не так и что чинит.
- 01Сравни четыре алгоритма rate limiter и объясни гонку распределённого счётчика и её починку.
- 02Почему автоинкремент отказывает на масштабе и чем отличаются UUIDv4, Snowflake и UUIDv7?
- 03Сформулируй гарантию фильтра Блума, механизм и где его нельзя использовать.
- 04Как работает близость geohash и в чём проблема границы и её починка?
- 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 на ресурсе — никогда не более длинным таймаутом. Нить: возьми верный блок, затем верно возьми его тонкое ядро корректности.
Что-то непонятно?
Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.