TomcatコンポーネントはWebサーバーのアーキテクチャの進化を示しています

TomcatコンポーネントはWebサーバーのアーキテクチャの進化を示しています

1. tomcat とは誰ですか?

2. Tomcat は何ができますか?

Tomcat は Web コンテナです。Web アプリケーションは、Web サービスを提供する Tomcat にデプロイできます。1 つの Web コンテナに複数の Web アプリケーションをデプロイできます。これらの Web アプリケーションは、同じドメイン名または複数のドメイン名のサービスにすることができます。

3. tomcatのコンポーネントは何ですか

4. これらのコンポーネントを素早く理解するにはどうすればよいでしょうか?

Web コンテナを設計していると仮定すると、何を設計すればよいでしょうか?

最初の世代: 次の図に示すように、リクエストを受信し、リクエストを処理し、結果を Web コンテナー全体に返します。

第2世代: 独立した接続管理と処理ロジック

使用していくうちに、ソケット接続を開いて、処理ロジックを呼び出して、ソケット接続を閉じるのが毎回面倒だということが分かりました。そこで、コネクタにソケット接続のクローズを処理させ、コンテナにリクエストのビジネス ロジックを処理させるようにしました。これで完了です。

第3世代: 複数のネットワークプロトコルをサポート

当初の目的は、Web サーバーまたはコンテナーを設計することでした。より多くのプロトコルをサポートしたい場合は、異なるコネクタとコンテナーを作成する必要があります。このとき、サービスがコネクタとコンテナーをラップするようになります。

第4世代: 複数のWebアプリケーションのサポート

コンテナであるため、複数のアプリケーションをサポートする必要があります。各アプリケーションにはコンテキストがあり、互いに分離されています。複数のコンテキストをサポートするアーキテクチャは次のとおりです。

第5世代: 複数のドメイン名のサポート

コンテキストには、物理​​的な分離だけでなく、app1.example.com が context1 にアクセスし、app1.test.com が context2 にアクセスするなど、論理的な分離も必要です。

この時点でのアーキテクチャは次のようになります。ホストは複数のコンテキストをサポートできます。

5. 要約:

  • ウェブサーバーのコンポーネントは、サーバー-->機能を満たす
  • サーバー+コネクタ+コンテナ-->責任の分離
  • サーバー+サービス+コネクタ+コンテナ-->複数のプロトコルをサポート
  • サーバー+サービス+コネクタ+コンテナ+コンテキスト-->複数のアプリケーションをサポート
  • サーバー+サービス+コネクタ+コンテナ+ホスト+コンテキスト -->複数のドメイン名を持つ複数のアプリケーションをサポート

実際、これは社会的な分業の洗練に似た、分業とコンポーネントの洗練のプロセスです。コンテナは Tomcat ではエンジンとも呼ばれることに注意してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • コネクタコンポーネントから Tomcat のスレッドモデルを見る - BIO モード (推奨)
  • Tomcat コアコンポーネントとアプリケーションアーキテクチャの詳細な説明

<<:  MySQL並列レプリケーションの簡単な説明

>>:  MySQLで指定した時間前にレコードを自動的に削除する方法

推薦する

JavaScript WeakMap の使い方の詳しい説明

WeakMap オブジェクトは、キーが弱参照であるキー/値のペアのコレクションです。キーはオブジェク...

小さなページングデザイン

ユーザーが目的のものを探すために前進するか後退するかを選択できるようにします。たとえば、Taobao...

Linux の traceroute コマンドの使用方法の詳細な説明

Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...

モバイル開発における 1px ラインの理解と解決策

1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...

Dockerコンテナ監視とログ管理の実装プロセス分析

Docker の導入規模が大きくなると、コンテナを監視する必要があります。一般的に、Docker に...

Tkinterはjsキャンバスを使用してグラデーションカラーを実現します

目次1. RGBを使用して色を表す2. Tkinter キャンバスコンポーネント3. グラデーション...

Mariadb リモート ログイン構成と問題解決

序文:インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモ...

jQueryのanimateアニメーションメソッドとアニメーションキューイング問題の解決方法の詳しい説明

目次animate() アニメーションメソッドアニメーションキューイングdelay() メソッドアニ...

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景Shell の mysql-client を介して MySQL データベースにログインする場合、...

VueのID認証管理とテナント管理の詳細な説明

目次概要ボタンレベルの権限アイデンティティ認証管理R/U 権限権限の更新テナント管理テナント切り替え...

JavaScript オブジェクトを作成する 3 つの方法

目次1. オブジェクトリテラル2. newキーワードはオブジェクトを作成する3. Object.cr...

Tomcat CentOS インストールプロセス図

Tomcat CentOS インストールこのインストール チュートリアルでは、次の内容について説明し...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

JavaScriptで計算機機能を実現するプロセスの詳細な説明

目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...