Hi J'implémente une application de type messagerie instantanée dans Erlang. J'ai utilisé un processus d'agent pour chaque client se connectant au serveur, et le processus d'agent est chargé d'envoyer les messages à une passerelle de messagerie, qui à son tour envoie le message à un autre processus d'agent. Il semble que la messagerie inter-processus erlang est implémentée en tant que connexions tcp. Il y aura donc une connexion pour chaque processus d'agent à la passerelle. Cela signifie-t-il que le nombre d'agents sur une seule machine ne dépassera jamais 65 535 en raison de la restriction des numéros de port?question sur la messagerie inter-processus
Merci d'avance!
Les nœuds Erlang sont connectés en maillage complet, de sorte que le 64K correspond à tous les nœuds connectés dans le réseau, pas sur un seul nœud. Avoir autant de nœuds serait également déraisonnable :) – Zed
Eh bien, si la chose IM prend et doit fonctionner sur plus de 64k cœurs de processeur ... ;-) –
Merci beaucoup! J'ai trouvé que c'est vrai quand les processus se connectent sur différentes machines. Cependant, quand ils sont sur la même machine, chaque processus consomme une connexion tcp via 127.0.0.1 (peut-être à epmd?). Cela ne semble pas être un problème puisque les adresses de boucle sont abondantes :) –