Я новичок в Node.js и в настоящее время сомневаюсь в его надежности.
Основываясь на том, что я видел до сих пор, похоже, существует серьезный недостаток: любая неперехваченная ошибка/исключения сбой сервера. Конечно, вы можете попытаться защитить свой код или поставить try/catch в ключевые области, но почти всегда будут ошибки, которые проскальзывают через трещины. И кажется опасным, если один проблемный запрос может повлиять на все остальные запросы. Есть два обходных пути, которые я нашел:
-
Используйте демон или модуль, например forever, чтобы автоматически перезапустить сервер при его сбое. То, что мне не нравится в этом, заключается в том, что сервер все еще работает на секунду или два (для большого сайта, который может составлять сотни (тысяч?) Запроса).
-
Поймать исключенные исключения с помощью
process.on('uncaughtException')
. Проблема с этим подходом (насколько я знаю) заключается в том, что нет способа получить ссылку на запрос, который вызывает исключение. Так что конкретный запрос остается висящим (пользователь видит индикатор загрузки до таймаута). Но, по крайней мере, в этом случае другие не-проблемные запросы все равно могут быть обработаны.
Может ли какой-нибудь Node.js ветеран в?