Tomcat-Komponenten veranschaulichen die architektonische Entwicklung eines Webservers

Tomcat-Komponenten veranschaulichen die architektonische Entwicklung eines Webservers

1. Wer ist Tomcat?

2. Was kann Tomcat?

Tomcat ist ein Webcontainer. Webanwendungen können in Tomcat bereitgestellt werden, das Webdienste bereitstellt. In einem Webcontainer können mehrere Webanwendungen bereitgestellt werden. Diese Webanwendungen können Dienste desselben Domänennamens oder mehrerer Domänennamen sein.

3. Was sind die Komponenten von Tomcat?

4. Wie kann man diese Komponenten schnell verstehen?

Wir können davon ausgehen, dass wir einen Webcontainer entwerfen. Was sollten wir entwerfen?

Die erste Generation: Empfangen von Anforderungen, Verarbeiten von Anforderungen und Zurückgeben von Ergebnissen an den gesamten Webcontainer, wie in der folgenden Abbildung dargestellt:

Zweite Generation: Separate Verbindungsverwaltung und Verarbeitungslogik

Während der Verwendung fand ich es nervig, jedes Mal die Socket-Verbindung zu öffnen, die Verarbeitungslogik aufzurufen und dann die Socket-Verbindung zu schließen. Ich überlasse das Schließen der Socket-Verbindung einfach dem Connector und die Geschäftslogik der Anfrage dem Container. Das ist alles.

Dritte Generation: Unterstützt mehrere Netzwerkprotokolle

Das ursprüngliche Ziel war, einen Webserver oder Container zu entwerfen. Wenn Sie mehr Protokolle unterstützen möchten, müssen Sie verschiedene Konnektoren und Container erstellen. Derzeit ist es so, dass der Dienst Konnektoren und Container umschließt.

Vierte Generation: Unterstützung für mehrere Webanwendungen

Da es sich um einen Container handelt, muss er mehrere Anwendungen unterstützen. Jede Anwendung hat einen Kontext und ist voneinander isoliert. Die Architektur, die mehrere Kontexte unterstützt, ist wie folgt:

Fünfte Generation: Unterstützung mehrerer Domänennamen

Kontexte erfordern nicht nur physische, sondern auch logische Isolierung, beispielsweise greift app1.example.com auf Kontext1 und app1.test.com auf Kontext2 zu.

Die Architektur sollte an dieser Stelle wie folgt aussehen: Der Host kann mehrere Kontexte unterstützen.

5. Zusammenfassung:

  • Die Komponenten des Webservers sind Server-->erfüllen die Funktion
  • Server+Connector+Container-->Trennung der Verantwortlichkeiten
  • Server+Dienst+Connector+Container-->Unterstützung mehrerer Protokolle
  • Server+Dienst+Connector+Container+Kontext-->Unterstützung mehrerer Anwendungen
  • Server+Dienst+Connector+Container+Host+Kontext -->Unterstützung mehrerer Anwendungen mit mehreren Domänennamen

Tatsächlich handelt es sich um einen Prozess der Arbeitsteilung und Verfeinerung von Komponenten, ähnlich der Verfeinerung der sozialen Arbeitsteilung. Beachten Sie, dass Container in Tomcat auch als Engine bezeichnet wird.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Betrachten des Threadmodells von Tomcat aus der Connector-Komponente – BIO-Modus (empfohlen)
  • Detaillierte Erläuterung der Tomcat-Kernkomponenten und der Anwendungsarchitektur

<<:  Eine einfache Erklärung der parallelen MySQL-Replikation

>>:  Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen

Artikel empfehlen

Detaillierte Erläuterung der Tomcat-Konfigurations- und Optimierungslösungen

Service.xml Die Konfigurationsdatei Server.xml wi...

Schiebemenü mit CSS3 implementiert

Ergebnis:Implementierungscode: <!DOCTYPE html&...

Webdesign: Implementierungstechniken für Webmusik

<br />Wenn Sie Musik in eine Webseite einfüg...

Detaillierte Erklärung des dynamischen Weihnachtsbaums durch JavaScript

Inhaltsverzeichnis 1. Animierter Weihnachtsbaum, ...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...

Zusammenfassung zum Sharding von MySQL-Datenbanken und -Tabellen

Während der Projektentwicklung werden unsere Date...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7

In diesem Tutorial erfahren Sie alles über die In...

Select unterstützt kein Doppelklick-DBClick-Ereignis

XML/HTML-CodeInhalt in die Zwischenablage kopiere...

Detaillierte Erklärung des JavaScript ES6-Moduls

Inhaltsverzeichnis 0. Was ist ein Modul 1.Modul l...

Detaillierte Erläuterung der elastischen CSS3-Erweiterungsbox

verwenden Flexible Boxen spielen beim Front-End-L...

Detaillierte Erklärung zum Aktivieren des https-Dienstes in Apache unter Linux

Dieser Artikel beschreibt, wie man den https-Dien...

Vier Kategorien von CSS-Selektoren: Basis, Kombination, Attribut, Pseudoklasse

Was ist ein Selektor? Die Rolle des Selektors bes...