OPLOG полностью синхронизирован в двух одинаковых общих проектах mongodb, когда не объявлен pub / sub или коллекция

#mongodb #meteor

#mongodb #meteor

Вопрос:

Условие

Есть сервер клиентов и сервер администратора.

Два сервера используют один и тот же mongodb и одну и ту же базу данных, но проекты разделяют проект Meteor.

Когда сервер администратора вставляет массовые данные (более 70 миллионов) в «коллекцию», процессор / память сервера клиента работает очень интенсивно во время вставки данных сервером администратора.

Поэтому я мог бы предположить, что сервер клиента извлекает вставленные данные oplog с помощью сервера администратора.

Вопрос

Дело в том, что я не понимаю, почему клиентский сервер разветвляет или синхронизирует данные oplog, даже если на клиентском сервере нет объявления «Коллекция». Я ожидал, что сервер клиента никогда ничего не извлекает, когда сервер администратора вставляет данные, потому что «это не указано на сервере клиента».

Итак, я хочу знать, что проект Meteor синхронизирует oplog, даже если проект не объявил коллекцию в той же базе данных. Или есть другая причина для этого?

Комментарии:

1. В чем ваш вопрос?

2. Упс — хорошо, я исправлю, чтобы было ясно.

3. Я только что обновил вопрос, чтобы было ясно. Пожалуйста, попробуйте еще раз -. Спасибо, дайте мне знать @D.SM

4. В вашем вопросе по-прежнему нет вопросов.

5. Emm. Вопрос в последнем предложении. «Я хочу знать, что проект Meteor синхронизирует oplog, даже если проект не объявил коллекцию. Или есть другая причина для этого. » Я не понимаю, что вы говорите.

Ответ №1:

[Решается самостоятельно]

Я получил соответствующий ответ на форуме Meteor.

Короче говоря, это нормальная реакция в модели общей базы данных, потому что два проекта полностью разделяют свой oplog.

Поэтому, чтобы избежать этого, используйте redis-oplog-package для управления «write oplog» при установке.