Сегодня я получил следующую ошибку от сервера:
{ MongoTimeoutError: Server selection timed out after 30000 ms
at Timeout.setTimeout [as _onTimeout] (/home/ubuntu/xxx-v.1-backend/node_modules/mongoose/node_modules/mongodb/lib/core/sdam/topology.js:897:9)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
name: 'MongoTimeoutError',
reason:
{ Error: getaddrinfo EAI_AGAIN xyz.mongodb.net xyz.mongodb.net:27017
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} },
[Symbol(mongoErrorContextSymbol)]: {} }
Сервер работал нормально больше года, и внезапно сервер сегодня перестал работать. Когда я заглянул в таблицу мониторинга EC2 AWS, он упомянул, что загрузка ЦП составляет 100%. Итак, я перезагрузил сервер из консоли EC2. После перезапуска сервера, когда я просмотрел журналы, я обнаружил, что указанная выше ошибка повторяется несколько раз. Итак, я предполагаю, что NodeJS мог несколько раз пытаться подключиться к Atlas и, следовательно, загрузка ЦП составляла 100%.
Когда я поискал в Интернете ошибку EAI_AGAIN, они упомянули, что IP-адрес может не быть добавленным в Атлас MongoDB или указано неправильное имя. Я проверил оба предложения, и в результате выяснилось, что проблема не в них.
Я не знаю, как действовать дальше. Пожалуйста, помогите с этой проблемой.