Как запустить длительную синхронную операцию в nodejs - PullRequest
1 голос
/ 13 февраля 2020

Я пишу веб-приложение для управления платежной ведомостью в nodejs для своей организации. Во многих случаях приложение должно включать интенсивные математические вычисления для вычисления цифр, и то же самое со многими пользователями, пытающимися сделать это одновременно.

Если я просто напишу логи c (за исключением того факта, что я уже сделал мой лучший из алгоритма и точки зрения структуры данных, чтобы содержать сложность) он будет работать синхронно, блокируя событие l oop и делать запрос, ответ медленный.

Как решить этот сценарий? Какие возможные варианты сделать это асинхронно ? Я также хочу упомянуть, что этот расчетный материал может быть запущен на фоне , и позже я могу сообщить ему об этом через уведомление о статусе. Я искал решение по всем этим местам, и я нашел некоторые решения, но только теоретически, и я не проверял их все путем реализации. Упомянутое ниже:

  1. Кластеризация сервера узлов
  2. Использование рабочих потоков
  3. Использование альтернативного сервера и некоторая балансировка нагрузки.
  4. Использование сообщения поставьте в очередь и соедините его с рабочим потоком для выполнения задних задач.

Может кто-нибудь предложить мне несколько проверенных и проверенных советов по этому сценарию? а также некоторые учебные ссылки, связанные с этим.

1 Ответ

0 голосов
/ 16 февраля 2020

Возможно, вы захотите попробовать веб-работников, простых в использовании и задокументированных. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

...