In diesem Artikel geht es hauptsächlich um die geeignete Richtung von node.js Wofür ist node.js geeignet? Was sind die Vorteile von node.js? Weitere Einzelheiten finden Sie im Artikel.
1. Lassen Sie uns zunächst darüber sprechen, wofür node.js geeignet ist:
Zuallererst ist nodeJs der Eckpfeiler des Front-End-Full-Stacks Anwendungsszenarien haben sich vom Front-End aus entwickelt. Die Gerüst- und Hilfstools von Tools haben sich zur API-Mittelschicht, Agentenschicht und professionellen Back-End-Entwicklung entwickelt.
Die wertvollste davon ist die API-Mittelschicht. Der große Trend besteht nun darin, dass immer mehr Unternehmen in den Frontend-Bereich verlagert werden und sich der Backend-Bereich ausschließlich auf die Bereitstellung von Dienstleistungen konzentriert. Ein sehr typisches und häufiges Arbeitsszenario besteht darin, dass bei der Zusammenarbeit von Front-End und Back-End das Front-End aufgrund unterschiedlicher Fortschritte manchmal auf die Back-End-Schnittstelle warten muss.
Zu diesem Zeitpunkt kann die mittlere Schichtanwendung von nodeJs dieses Problem sehr gut lösen. Über nodeJs kann sich das Front-End auf das Format der Daten einigen, seine eigene Schnittstelle an die Bedürfnisse des Front-Ends anpassen, CRUD-Vorgänge in der Datenbank kapseln, eigene Proxy- und Gateway-Server erstellen usw. In der Vergangenheit konnten Sie nur darauf warten, dass das Backend diese Dinge erledigt, aber jetzt können Sie es selbst über das NodeJs-Frontend tun, was den Arbeitsprozess kontrollierbarer macht.
Natürlich stellt dies auch höhere Anforderungen an Front-End-Entwickler. Zumindest die Mängel in der Datenbank, dem Architekturdesign, der Systemstruktur und den Netzwerkanwendungen müssen langsam behoben werden.
Ich bin mir nicht sicher, ob NodeJs ursprünglich für das Backend entwickelt wurde, aber die Java-Sprache wurde aufgrund ihrer Einfachheit, Asynchronität und großen Parallelität versehentlich vom Frontend entdeckt und übernommen nach vorne.
Die Verwendung von NodeJs im Front-End führt also unweigerlich zu einer Erosion des Back-Ends, und die Entwicklungsstruktur und der Technologie-Stack des Back-Ends sind bereits sehr vollständig, sodass das Back-End im Allgemeinen nicht bereit ist, sich so oft zu ändern Der Widerstand gegen NodeJs kommt tatsächlich vom Backend. Extrem konservativ. Dies ist natürlich sinnvoll, da das Backend hauptsächlich aus Diensten, Daten und zugrunde liegenden Anwendungen besteht. Diese Dinge erfordern Stabilität und Sicherheit und weisen einige historische Probleme auf, sodass sie neue Dinge nicht mögen.
In diesem Stadium sind viele NodeJs-Anwendungen also Brücken zwischen dem Front-End und dem Back-End. Im Allgemeinen sind neue Unternehmen, Start-ups und Inkubationsprojekte ohne historischen Ballast eher bereit, NodeJs zu verwenden, weil es schnell und effizient ist.
Grundsätzlich haben alle Front-End-Anwendungen jetzt den Schatten von NodeJs, wie React, Vue, Angular usw. Die Anwendungsszenarien und der Arbeitsmarkt sind ebenfalls sehr groß, sodass es beim Erlernen von NodeJs nicht darum geht, was Sie tun können . Aber es gibt Ihnen noch einen Platz zum Ausstellen. (Wenn Sie mehr über node.js erfahren möchten, besuchen Sie die Spalte node.js-Video-Tutorial auf der chinesischen PHP-Website)
2. Lassen Sie uns nun über die Verwendung von node sprechen Vorteile von .js:
Wie Sie bereits gesehen haben, eignet sich Node hervorragend für Situationen, in denen Sie potenziell hohen Datenverkehr erwarten, bevor Sie auf den Client antworten, die erforderliche serverseitige Logik und Verarbeitung jedoch nicht vorhanden ist. Es muss eine vorhanden sein viel. Wir haben drei Vorteile von Node zusammengefasst, die auch als typische Beispiele für herausragende Leistung gelten können:
1.RESTful API
Webdienste, die RESTful API empfangen mehrere Parameter, analysiert sie, stellt eine Antwort zusammen und gibt eine Antwort (normalerweise weniger Text) an den Benutzer zurück. Dies ist eine ideale Situation für Node, da Sie ihn für die Verarbeitung von Zehntausenden von Verbindungen erstellen können. Es erfordert immer noch nicht viel Logik; es sucht im Wesentlichen nur einige Werte aus einer Datenbank und setzt sie zu einer Antwort zusammen. Da es sich bei Antworten um kleine Textmengen und bei eingehenden Anfragen um kleine Textmengen handelt, ist der Datenverkehr nicht hoch und ein einzelner Computer kann die API-Anforderungen selbst der geschäftigsten Unternehmen bewältigen.
2. Twitter-Warteschlange
Stellen Sie sich ein Unternehmen wie Twitter vor, das Tweets empfangen und in eine Datenbank schreiben muss. In der Realität ist es bei fast tausenden Tweets, die pro Sekunde eingehen, unmöglich, dass die Datenbank die Anzahl der während der Spitzenzeiten erforderlichen Schreibvorgänge zeitnah verarbeiten kann. Der Knoten wird zu einem wichtigen Teil der Lösung dieses Problems. Wie Sie sehen, kann Node Zehntausende eingehende Tweets verarbeiten. Es schreibt sie schnell und einfach in einen speicherinternen Warteschlangenmechanismus (z. B. Memcached), von wo aus ein separater Prozess sie in die Datenbank schreiben kann. Die Rolle von Node besteht hier darin, Tweets schnell zu sammeln und diese Informationen an einen anderen Prozess weiterzuleiten, der für das Schreiben verantwortlich ist. Stellen Sie sich ein alternatives Design vor (bei dem ein normaler PHP-Server versuchen würde, Schreibvorgänge in die Datenbank selbst zu verarbeiten): Jeder Tweet würde eine kurze Verzögerung beim Schreiben in die Datenbank verursachen, da der Datenbankaufruf den Kanal blockiert. Eine auf diese Weise konzipierte Maschine kann aufgrund der Datenbanklatenz möglicherweise nur 2000 eingehende Tweets pro Sekunde verarbeiten. Für die Verarbeitung von 1 Million Tweets pro Sekunde wären 500 Server erforderlich. Stattdessen verarbeitet Node jede Verbindung, ohne den Kanal zu blockieren, sodass so viele Tweets wie möglich erfasst werden können. Eine Node-Maschine, die 50.000 Tweets verarbeiten kann, benötigt nur 20 Server.
3. Videospielstatistiken
Wenn Sie das Spiel Call of Duty online gespielt haben, werden Sie beim Betrachten der Spielstatistiken sofort etwas erkennen: Um diese Statistikebene zu erstellen, müssen Sie eine große Menge an Informationen erfassen. Wenn Millionen von Spielern gleichzeitig online spielen und sich diese an unterschiedlichen Positionen im Spiel befinden, können auf diese Weise sehr schnell riesige Mengen an Informationen generiert werden. Node ist eine großartige Lösung für dieses Szenario, da es die vom Spiel generierten Daten aufnimmt, eine minimale Zusammenführung der Daten durchführt und die Daten dann in eine Warteschlange stellt, damit sie in die Datenbank geschrieben werden können. Einen ganzen Server zu verwenden, um zu verfolgen, wie viele Kugeln ein Spieler in einem Spiel abfeuert, erscheint albern, und wenn Sie einen Server wie Apache verwenden, kann es einige nützliche Einschränkungen geben, aber umgekehrt, wenn Sie einen dedizierten Server verwenden, um alle Statistiken für ein Spiel zu verfolgen; , wie Sie es mit einem Server tun würden, auf dem Node ausgeführt wird, scheint das ein kluger Schachzug zu sein.
Das Obige ist eine Einführung in die Verwendung von node.js und die Vorteile von node.js (wenn Sie mehr Inhalte sehen möchten, gehen Sie zur Spalte node.js Chinesisches Referenzhandbuch ). auf der chinesischen PHP-Website) gibt es Wenn Sie Fragen haben, können Sie diese unten stellen
[Empfehlung des Herausgebers]
Was macht node.js? Einführung in 10 Anwendungsszenarien von node.js
Das obige ist der detaillierte Inhalt vonWofür ist node.js geeignet? Welche Vorteile bietet die Verwendung von node.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!