Ошибка подключения mongodb (npm package) при изменении набора реплик - PullRequest
0 голосов
/ 18 марта 2020

У меня есть набор реплик из 6 монго, которые разделены на: 1 мастер 5 вторичных серверов (3 из которых являются пассивными).

У меня есть служба узла с 4 экземплярами этой службы, которая подключается к набор реплик. Каждый экземпляр подключен к части набора реплик, а не ко всему набору (из-за необходимости, которую мое приложение требует разделить некоторые из БД), разделение таково: у меня есть «основной» набор, который включает в себя мастер и 2 вторичные (которые не являются пассивными).

Первый экземпляр включает в себя только базовый набор - и для примера должен называться «Базовый экземпляр». Остальные подключены к основному набору и только к одной из оставшихся пассивных дБ (каждая вторичная копия используется экземпляром службы моего узла) - и для примера должна называться «Внешний экземпляр».

Я заметил что, когда один из «Внешних экземпляров» завершает работу (поскольку сервер выключен), другие «Внешние экземпляры» имеют ошибку соединения в течение нескольких минут (и через несколько минут служба снова работает нормально).

Ошибка, которая отображается во «Внешних экземплярах» во время завершения работы:

At the docker service:
"error: MongoNetworkError: Connection 46 to {server-name} timed out
at Socket<anonymous> .../node-modules/mongodb-core/lib/connection/connection-js:258:7).
...".

At the localhost:
"Error: read ECONNRESET at tcp. on StreamRead (internal-stream_base_commons.js:167:27)".

Я не понимаю, почему, когда один из «Внешних экземпляров» дает сбой, другие экземпляры имеют проблема в соединении.

На мой взгляд, это или из-за пакета npm (mongodb), или из-за набора реплик.

Моя версия мон go равна 3.6. 5 Пакет mongodb npm: 3.0.10.

Спасибо!

РЕДАКТИРОВАТЬ: Возможно, стоит упомянуть, что мы используем оплог.

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