Как обрабатываются подсказки в «Динамо» - PullRequest
0 голосов
/ 14 апреля 2020

Из того, что я понимаю о намеках на передачу обслуживания в Динамо согласно этой бумаге , если узел-координатор не может записать в одну из реплик, он передаст запись в другой узел с подсказкой. Поэтому рассмотрим кластер с коэффициентом репликации 5 (N) и минимальной записью (W) как 3. Узел-координатор попытается выполнить запись во все 4 реплики. Если 3 из них вернут успех, и один из них завершится неудачно из-за временной проблемы, он выполнит ручную запись в другой узел с подсказкой, чтобы воспроизвести его в неудачной реплике при возврате. Я хотел подтвердить, что мое понимание того, что произойдет, если реплика вернется вверх, а на подсказанный узел потребуется время, чтобы воспроизвести эту строку, или сам подсказанный узел выйдет из строя, правильно. Несмотря на то, что эта неудачная реплика теперь обслуживает устаревшую информацию, «Динамо» будет читать с минимального чтения (R) нет. узлов (скажем, это 3) и выберите версию, которая является самой последней из всех 3, и верните ее клиенту. Таким образом, даже если подсказка не будет воспроизведена, клиент все равно получит правильную информацию

...