Wie hilft das Single-Thread-Verhalten von nodejs im Echtzeit-Chat, wird es nicht zu Verzögerungen beim Bedienen verschiedener Benutzer kommen, wenn die Anfrage in der Warteschlange steht? Wie vergleicht sich Node mit Erlang?Ich habe erfahren, dass Nodejs bevorzugtes Backend für Chat-Anwendungen ist, aber warum?
Antwort
Das single-threaded ereignisgesteuerte System ist schnell, auch wenn viele Anfragen gleichzeitig erledigt werden, und auch einfach. Da es sich um einen einzelnen Thread handelt, gibt es keine Latenzzeiten beim Erstellen neuer Threads wie in anderen Sprachen. Das Erstellen eines neuen Threads für jede Anfrage ist sowohl zeitlich als auch räumlich sehr aufwendig. Mit node.js ist es möglich, lange Umfragen elegant zu verwenden, was einen Vorteil gegenüber ROR oder Python bietet. Wenn Knoten für Chat-Anwendungen verwendet werden, ist es nicht notwendig, neue Threads zu erstellen, und auch die langen Umfragen machen es zu einer effektiven Wahl, die in erster Linie für eine Chat-Anwendung wichtig sind. Beim Vergleich von Erlang mit Node.js hat Erlang das Parallelitätsnetzwerk &, das für das Netzwerk transparent ist, sehr gut abgestimmt. Aber die Lernkurve es Schritt im Vergleich zu Javascript.