Par "tri" je voulais dire la sélection des domaines disponibles et ceux qui ne le sont pas. Mais c'est juste un exemple ; pour faire plus général, imaginons une application Web basée sur le stack MEAN qui gère tout ce qui est connexion, inscription,...
Cependant, il y a des tâches qui peuvent prendre beaucoup de temps, l'exemple de trier des noms de domaine disponibles/indisponibles, et qui doivent être exécutées en C#.
Une fois que la tâche longue a été effectuée, l'utilisateur est notifié et peut récupérer les résultats.
J'imagine donc que je devrai avoir au moins deux serveurs, le serveur Node qui gère toutes les requêtes et un serveur qui ferait tourné l'application C# qui réalisera les tâches plus longues. ( Au minimum, comme l'a dit godrik pour gérer le traffic)
Ainsi, si un utilisateur se connecte, le serveur Node reçoit la requête, il compare username/pass avec ceux de la base de données et renvoie, ou non, un cookie d'authentification. (Une connexion basique)
Par contre, si le serveur Node reçoit une requête pour effectuer un tri de domaines (dispo./non dispo.), il communique à l'utilisateur qu'il a bien reçu la requête et délègue la tâche au serveur qui fait tourner l'application C#. Une fois que l'application C# a fini de trier les domaines ( après quelques heures, par exemple), elle "contacte" le serveur Node qui va ensuite persister les résultats dans la base de données et notifier l'utilisateur de la complétion de la tâche.
J'espère avoir été plus clair, au pire des cas je ferai un petit schéma 