Краткий ответ:
Включите автоматическое переключение при сбое, и все будет в порядке.
Более длинный ответ:
Похоже, вы беспокоитесь о довольно узком крае дела здесь.Вот мое понимание:
- Вы сохраняете документ в SDK и предъявляете к нему требования долговечности persists_to.
- Couchbase подтверждает, что документ был сохранен в памяти.
- SDK начинает проверять, чтобы убедиться, что он сохраняется на диске и / или реплицируется.
- В течение чрезвычайно короткого промежутка времени узел отключается.Документ был сохранен на диск , но не был реплицирован на другой узел и основной узел не был неисправен в течение .
- SDKОперация вернет ошибку, сказав, что она не соответствует требованиям долговечности.(Возможно, я ошибаюсь, это может привести к другой ошибке, что означает, что вы можете действовать по-другому).
- Вы уведомляете пользователя о том, что что-то не так.
- Узел возвращается, присоединяется к кластеру, и документ там.
- Смущенный пользователь?
Если это правильно, ключ - шаг 4. Прежде всего, это кажется довольно редким краемдело.Все три из этих вещей должны быть правдой, чтобы беспокоиться об этой ситуации.Мои знания по внутренним компонентам в Couchbase не слишком хороши, поэтому такая ситуация может оказаться невозможной (но я буду продолжать, как если бы она была).
Если вы используете Couchbase в хорошей сети и на хороших машинах,тогда расщепление сети / разрушение узлов не должно происходить очень часто.Поэтому вы можете включить автоматический переход на другой ресурс.Помните, что наш документ не попал на диск.Поэтому, когда происходит аварийное переключение, документ находился только в оперативной памяти, и поэтому он ушел навсегда (и поскольку вы сказали об этом пользователю, не путайте).
Опять же, я не эксперт по внутренним компонентам Couchbase, поэтомуНасколько мне известно, это все, но, похоже, все, что вам нужно, это включить автоматический переход на другой ресурс, и все будет в порядке.По умолчанию он выключен;Идея в том, что вы должны понять, что это такое, и выбрать вариант.Но для большинства систем используйте автоматическое переключение при сбое.