использует Raft или что-то похожее для того, чтобы организовать репликацию oplog на все машины, а также выбирать нового Primary, в случае, если первый упадет.
Когда мы добавляем нового Secondary на него реплицируется состояние Primary, но у меня вопрос, как именно? Oplog конечен, как capped collection он перезаписывается. Как выпавший надолго Secondary, или вновь подключенный узнает о всех изменениях, которые произошли на Primary, включая те, которые в oplog уже были перетерты.
состояние когда нода выпала за оплог разрешается с помощью inital sync. это просто копирование данных и последующее накатывание на них оплога
Обсуждают сегодня