Nous avons un node.js serveur qui implémente une API REST comme un proxy sur un serveur central qui est un peu différent, et, malheureusement, asymétrique API REST.
Notre client qui opère dans différents navigateurs, demande le nœud de serveur pour obtenir les tâches à partir du serveur central. Le nœud du serveur obtient une liste de tous les id de tâche à partir de la centrale et les renvoie au client. Le client fait alors deux autres appels de l'API par l'id via le proxy.
Aussi loin que je peux dire, ce genre de choses est fait de manière asynchrone. Dans le journal de la console, ça ressemble à ça quand je lance le client:
Requested GET URL under /api/v1/tasks/*: /api/v1/tasks/
Cela prend quelques secondes pour obtenir la liste à partir du serveur central. Dès qu'il reçoit la réponse, le serveur barfs ce très rapidement:
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
Ensuite, à chaque fois une paire de ces demandes obtient un résultat à partir du serveur central, l'autre de deux lignes est barfed très rapidement.
Il semble donc que notre node.js le serveur est seulement disposé à avoir six requêtes à la fois.