Я использую nodejs для веб-сервера, который декодирует параметры GET и возвращает данные в некотором закодированном формате. Декодирование / кодирование выполняется с использованием криптографического модуля nodejs, который кажется синхронным. Хотя время, необходимое для обслуживания одного запроса, достаточно велико, из-за блокировки цикла событий служба плохо работает с параллелизмом.
Мое требование простое: сделайте функциональность кодирования / декодирования вне цикла событий.
- Отдельный процесс (дочерний_процесс или кластер)
Это может быть отдельный процесс исключительно для этой цели, но поскольку кодирование / декодирование будет блокироваться в дочернем процессе, это остановит дочерний процесс для получения новых сообщений, т.е. никогда не будет ситуации, когда две строки закодированы как дочерний процесс. также будет однопоточным.
- Отдельный поток для каждого запроса (thread-a-gogo или fiber или node-webworker)
Создайте отдельный поток для каждого запроса для выполнения операции кодирования / декодирования, но ни один из модулей, похоже, не работает должным образом, то есть thread-a-gogo не устанавливается через npm, fiber не создавал отдельный поток при запуске (), не работает.
Сталкивался ли кто-нибудь с подобной проблемой или есть ли способ легко создавать потоки в nodejs с простой передачей сообщений.