как плот добивается сильной согласованности, когда им не требуется fsync при каждой записи - PullRequest
0 голосов
/ 03 февраля 2019

Я понимаю базовый протокол плота и как его достичь сильной согласованности.Однако, по моему мнению, для достижения реальной согласованности вам нужно использовать fsync для каждой записи (не только для лидера, но и для последователей), поскольку, если вы этого не сделаете, даже если вы подумали, что находитесь в безопасной зонеБольшинство "зафиксированных", эти журналы потенциально могут быть потеряны в будущем, так как они все еще находятся в кэше страниц.

Но использование fsync при каждой записи ухудшит производительность системы на порядки.

Поэтому мне интересно, как они решают компромисс или объясняют мне, если мое понимание неверно.

1 Ответ

0 голосов
/ 27 апреля 2019

Вероятность одновременного отключения всех серверов меньше.Кроме того, как только лидер потерпит неудачу или изменится термин, один из подписчиков, у которых есть самые последние записи журнала, будет избран, и он будет фиксировать свои записи и, таким образом, также фиксировать все записи предыдущих терминов.Таким образом риск сводится к минимуму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...