So führen Sie eine Weiterleitung der mittleren Ebene in NodeJS durch

PHPz
Freigeben: 2023-04-26 10:00:52
Original
757 Leute haben es durchsucht

Node.js ermöglicht Entwicklern als JavaScript-Laufzeitumgebung das Schreiben von serverseitigem Code mithilfe der JavaScript-Sprache. Während des Entwicklungsprozesses wird Node.js häufig als mittlere Schicht verwendet, um die Datenübertragung oder die Weiterleitung von Anforderungen zwischen dem Front-End und dem Back-End zu realisieren. In diesem Artikel werde ich detailliert vorstellen, wie Node.js für die Weiterleitung auf mittlerer Ebene verwendet wird.

1. Vorteile von Node.js

Als JavaScript-Laufumgebung basierend auf ereignisgesteuerter und asynchroner E/A bietet Node.js die folgenden Vorteile bei der Entwicklung von Netzwerkanwendungen:

  1. Asynchrones E/A-Modell: Node. js verwendet ein ereignisgesteuertes Modell zur Asynchronisierung von E/A-Vorgängen, wodurch die nachfolgende Codeausführung nicht blockiert wird und der Durchsatz und die Parallelitätsleistung des Systems verbessert werden.
  2. Single-Threaded-Modell: Node.js verwendet ein Single-Threaded-Modell, das den Overhead beim Umschalten zwischen mehreren Threads vermeidet und die Komplexität für Entwickler verringert, die gleichzeitigen Code schreiben.
  3. Leicht: Der Kerncode von Node.js enthält nur ein paar hundert Dateien und sehr wenige Bibliotheksdateien, sodass er schnell startet und ausgeführt wird.
  4. Geeignet für die Verarbeitung einer großen Anzahl kleiner Datenanforderungen: Node.js eignet sich für die Verarbeitung einer großen Anzahl kleiner Datenanforderungen wie WebSockets, lange Verbindungen, HTTP-Abfragen usw. 2. Weiterleitung der mittleren Schicht von Node.js Benutzer greifen über einen Browser auf die Front-End-Seite zu, die Front-End-Seite sendet eine Anfrage an die mittlere Ebene und die mittlere Ebene leitet die Anfrage an das Back-End weiter.

Codeimplementierung der mittleren Schicht

  1. Die mittlere Schicht kann mit Node.js geschrieben werden. Im Folgenden sind die Codeimplementierungsschritte aufgeführt:
(1) Erstellen Sie einen Node.js-HTTP-Server.

const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  // 处理请求
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
Nach dem Login kopieren
(2) Legen Sie den offenen Port des Servers fest und warten Sie auf HTTP-Anfragen am angegebenen Port auf dem lokalen Computer.
  1. (3) Die mittlere Schicht empfängt die Front-End-Anfrage und leitet die Anfrageinformationen an den Back-End-Server weiter.
  2. const http = require('http');
    
    const hostname = '127.0.0.1';
    const port = 3000;
    
    const server = http.createServer((req, res) => {
      const options = {
        hostname: 'www.example.com',
        port: 80,
        path: req.url,
        method: req.method,
        headers: req.headers
      };
    
      const proxyReq = http.request(options, (proxyRes) => {
        proxyRes.on('data', (chunk) => {
          res.write(chunk);
        });
    
        proxyRes.on('end', () => {
          res.end();
        });
    
        res.writeHead(proxyRes.statusCode, proxyRes.headers);
      });
    
      req.on('data', (chunk) => {
        proxyReq.write(chunk);
      });
    
      req.on('end', () => {
        proxyReq.end();
      });
    });
    
    server.listen(port, hostname, () => {
      console.log(`Server running at http://${hostname}:${port}/`);
    });
    Nach dem Login kopieren
(4) Kopieren Sie bei der Verarbeitung der Anfrage durch die mittlere Schicht die Anfrageinformationen in ein Proxy-Anfrageobjekt und fügen Sie der Proxy-Anfrage die Adresse, den Port, die Anfragemethode und die Anfrageheaderinformationen des Back-End-Servers hinzu Objekt und dann verwenden http Die Funktion .request() fordert den Backend-Server an.

(5) Fügen Sie im Proxy-Anforderungsobjekt eine Überwachungsfunktion hinzu, um die vom Back-End-Server beantworteten Daten und Endereignisse zu verarbeiten und die Antwortdaten an das Front-End auszugeben.

(6) Richten Sie gleichzeitig die Ereignisüberwachung in der mittleren Ebene ein. Wenn die Übertragung der Front-End-Anforderungsdaten abgeschlossen ist, werden die Anforderungsdaten in das Proxy-Anforderungsobjekt geschrieben Funktion.

(7) Geben Sie nach Abschluss der Verarbeitung das Proxy-Anforderungsobjekt frei.

3. Zusammenfassung

In diesem Artikel haben wir die Methode von Node.js als mittlere Ebene zur Implementierung der Anforderungsweiterleitung vorgestellt. Durch das hervorragende asynchrone E/A-Modell und das Single-Thread-Modell ist Node.js die beste Wahl Verarbeitung einer großen Anzahl kleiner Datenanfragen. In der Praxis wird die Weiterleitungsimplementierung der mittleren Schicht von Node.js häufig in Anwendungsbereichen verwendet. In der Microservice-Architektur wird Node.js beispielsweise zur Realisierung der Kommunikation zwischen Diensten verwendet, was die Zuverlässigkeit und Skalierbarkeit des Systems verbessert.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine Weiterleitung der mittleren Ebene in NodeJS durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!