Dlaczego node.js przetwarza tylko sześć żądań jednocześnie?

Mamy serwer node.js, który implementuje API REST jako serwer proxy do centralnego serwera, który ma nieco inny i niestety asymetryczny interfejs REST API.

Nasz klient, który działa w różnych przeglądarkach, prosi serwer węzłów o pobranie zadań z serwera centralnego. Serwer węzłów otrzymuje listę wszystkich identyfikatorów zadań z centralnego i zwraca je klientowi. Następnie klient wykonuje dwa wywołania interfejsu API REST na identyfikator za pośrednictwem serwera proxy.

O ile wiem, wszystko to odbywa się asynchronicznie. W dzienniku konsoli wygląda tak, gdy uruchamiam klienta:

Requested GET URL under /api/v1/tasks/*: /api/v1/tasks/

Pobieranie listy z centralnego serwera zajmuje kilka sekund. Gdy tylko otrzyma odpowiedź, serwer szybko to blokuje:

Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/438
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/438
Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/439
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/439
Requested GET URL under /api/v1/tasks/id/:id :/api/v1/tasks/id/441
Requested GET URL under /api/v1/workflow/id/:id :/api/v1/workflow/id/441

Następnie za każdym razem, gdy para tych żądań otrzymuje wynik z centralnego serwera, kolejne dwie linie są bardzo szybko usuwane.

Wygląda więc na to, że nasz serwer node.js jest gotów jednorazowo wysyłać sześć żądań.

questionAnswers(5)

yourAnswerToTheQuestion