Nginx-Infrastruktur

WBOY
Freigeben: 2016-07-29 09:09:12
Original
886 Leute haben es durchsucht

Wichtige Einschränkungen beim Webserver-Design

  1. Leistung
    1. Netzwerkleistung
    2. Latenz einer einzelnen Anfrage
    3. Netzwerkeffizienz
  2. Skalierbarkeit
  3. Einfachheit
  4. Modibilität
  5. Sichtbarkeit
  6. Portabilität
  7. Zuverlässigkeit

Architekturdesign von Nginx

  1. Modulares Design
    Ein hohes Maß an modularem Design ist die architektonische Grundlage von Nginx. Bis auf eine kleine Menge Kerncode ist alles andere ein Modul.
    Merkmale:
    1. Hochabstrakte Modulschnittstelle
    2. Die Modulschnittstelle ist sehr einfach und weist eine hohe Flexibilität auf
    3. Konfigurationsmoduldesign
    4. Kernvereinfachung des Moduls Schnittstellen
    5. Mehrstufiges Moduldesign mit mehreren Kategorien
  2. Ereignisgesteuerte Architektur
    Ereignisse werden von einigen Ereignisquellen generiert, und ein oder mehrere Ereignissammler sammeln und verteilen Ereignisse. Anschließend registrieren viele Ereignisprozessoren die Ereignisse, an denen sie interessiert sind, und „verbrauchen“ diese Ereignisse.

  3. Mehrstufige asynchrone Verarbeitung von Anfragen
    Eine mehrstufige asynchrone Verarbeitung von Anfragen kann nur auf Basis einer ereignisgesteuerten Architektur umgesetzt werden.
    Teilen Sie einen Anforderungsverarbeitungsprozess entsprechend der Ereignisauslösemethode in mehrere Phasen auf, und jede Phase kann durch Ereignissammler und -verteiler ausgelöst werden.

  4. Managementprozess, Multi-Worker-Prozessdesign
    Nginx verwendet eine Entwurfsmethode mit einem Master-Management-Prozess und mehreren Worker-Prozessen.
    Vorteile dieses Designs:
    1. Nutzung der gleichzeitigen Verarbeitungsfähigkeiten von Multi-Core-Systemen
    2. Lastausgleich
    3. Der Managementprozess ist für die Überwachung des Status verantwortlich Worker-Prozess und dessen Verhalten
  5. Plattformunabhängige Code-Implementierung
    Versuchen Sie bei der Implementierung in der Sprache C, die Verwendung von Code im Zusammenhang mit der Betriebssystemplattform zu minimieren.
    Nginx kapselt Protokolle, verschiedene grundlegende Datenstrukturen, gängige Algorithmen und andere Tool-Software neu.
    Der Kerncode wird mithilfe von Code implementiert, der vom Betriebssystem unabhängig ist, und Systemaufrufe, die sich auf das Betriebssystem beziehen, verfügen über unabhängige Implementierungen für jedes Betriebssystem.

  6. Speicherpool-Design
    Durch die Konsolidierung mehrerer Vorgänge zum Anfordern von Speicher vom System in einem Vorgang wird der Verbrauch von CPU-Ressourcen erheblich reduziert und die Speicherfragmentierung verringert.

  7. HTTP-Filtermodul unter Verwendung des einheitlichen Pipe-Filtermusters

  8. Einige andere Benutzermodule

    Kernstruktur im Nginx-Framework Body ngx_cycle_t

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

Das Obige stellt die Nginx-Infrastruktur einschließlich verschiedener Aspekte vor. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
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