В системе с N репликами запись считается успешной после подтверждения W реплик. Как выбрать W, чтобы две успешные записи не могли опереться на непересекающиеся наборы реплик?
База Hintsage
Распределённые системы
Согласованность, репликация, консенсус, очереди, отказы и сетевые разделения.
Практика
Вопросы: Распределённые системы
После успешной записи чтение отправляется на асинхронную реплику и возвращает старое состояние. Какую гарантию согласованности следует обеспечить, чтобы устранить этот эффект?
Как защитить хранилище от записи старого лидера после восстановления сетевого разделения?
В очереди сообщений обработчик завершил бизнес-операцию, но процесс упал до подтверждения сообщения. Какую семантику доставки следует ожидать?
Представьте кластер из пяти узлов, разделённый сетью на группы из трёх и двух: какая группа может продолжать принимать согласованные записи при использовании консенсуса и почему?
Сервис обрабатывает события одного заказа параллельно, из-за чего отмена иногда применяется раньше оплаты. Как сохранить порядок событий для каждого заказа без глобальной сериализации?
Два сервиса передают друг другу результаты операций через реплицируемое хранилище. Какую гарантию нужно обеспечить, чтобы зависимое событие не наблюдалось раньше породившего его?
После тайм-аута клиент повторяет запрос на списание средств, хотя первый запрос мог уже завершиться. Какой механизм предотвращает двойное выполнение операции?
Практическая ситуация: поток сообщений устойчиво поступает быстрее, чем их успевают обрабатывать. Какой механизм не допускает неограниченного роста очереди?
Как в распределённой системе отличить отказ узла от временной потери связи?
Объясните механизм: как векторные часы отличают причинно связанную запись от двух конкурентных записей на разных репликах?
Две реплики одновременно увеличивают распределённый счётчик при недоступной связи. Как CRDT-счётчик объединяет эти изменения без потери инкрементов?
Что следует сделать с сообщением, которое после ограниченного числа повторных попыток стабильно не обрабатывается?
При увеличении числа потребителей очереди обработка перестала ускоряться. Как определить, что узким местом стало число партиций?
Сравните синхронную репликацию с асинхронной по поведению записи при отказе реплики.
В чём состоит дополнительное требование линейризуемости по сравнению с последовательной согласованностью?
Зачем распределённому хранилищу антиэнтропийная синхронизация с деревом хэшей, если реплики уже принимают записи?
Реплика отстала настолько, что лидер уже удалил нужные записи журнала. Как снимок состояния позволяет безопасно вернуть её в рабочий кластер?
В какой момент узел консенсусного кластера вправе применить запись журнала к состоянию?
Разберите фрагмент выборов лидера. Все узлы используют одинаковый тайм-аут. Какое изменение предотвращает устойчивые взаимные перевыборы при исправном лидере?
on_start:
role = FOLLOWER
election_timeout = 300ms
on_timeout:
role = CANDIDATE
term = term + 1
request_votes(term)
on_heartbeat:
reset_timer(300ms)
Показано 1–20 из 50