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で指定した時間前にレコードを自動的に削除する方法

推薦する

Vueバックグラウンド管理に多言語機能を追加する例

目次1.まず、main.jsページを設定します2. 対応するパスの下で言語パックを構成します。ここに...

Javascript Bootstrapのグリッドシステム、ナビゲーションバー、カルーセルの詳細な説明

目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...

DockerにTomcat8をインストールする方法

1. dockerでtomcat8をインストールする1. Docker HubでTomcatイメージ...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

React.cloneElement の使い方の詳しい説明

目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...

CSS3で実装されたサムネイルホバー効果

成果を達成する実装コードhtml <ヘッダー> <h1><em>...

Mysql 複数データベースのバックアップ コード例

この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...

MySQL で自動インクリメントシーケンスを実装するためのサンプルコード

1. シーケンステーブルを作成する テーブル `sequence` を作成します ( `name` ...

マークアップ言語 - フレーズ要素

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

htm 初心者ノート(初心者は必ず読んでください)

1. HTMLとは何かHTML (ハイパーテキスト マークアップ言語): ハイパーテキスト マーク...

SQL文におけるGROUP BYとHAVINGの使用に関する簡単な説明

GROUP BY 句と HAVING 句を紹介する前に、まず SQL 言語の特殊な関数である集計関数...

MySql はコミットする必要がありますか?

MySQL が挿入などの操作を実行するときにコミットする必要があるかどうかは、ストレージ エンジン...

503 サービス利用不可エラーの解決方法の説明

1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...

MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明

MySQL の MyISAM エンジンと InnoDB エンジンはどちらもデフォルトで B+ ツリー...