アプリケーションサーバーの種類と特徴

インフラ構成

Webシステムのアプリケーションサーバーには、様々な種類と特徴があります。主要なアプリケーションサーバーについて説明します。

1. Apache Tomcat

  • Java Servlet、JavaServer Pages(JSP)、Java WebSocketsをサポートするオープンソースのアプリケーションサーバー
  • 軽量でシンプルな設計
  • スレッドベースの処理モデル
  • Apache Portable Runtime (APR) を使用することで高パフォーマンスを実現
  • Apache Software Foundationによって開発・維持されている

具体例

<!-- Tomcat server.xml の設定例 -->
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
  <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context path="/myapp" docBase="/path/to/myapp.war" reloadable="true"/>
  </Host>
</Engine>

2. JBoss/WildFly

  • Red Hat によって開発されたJavaEEアプリケーションサーバー
  • エンタープライズ向けの高度な機能を備える
  • クラスタリング、フェイルオーバー、ロードバランシングに対応
  • JBoss管理コンソールによるGUIベースの設定が可能
  • マイクロサービスアーキテクチャ向けにWildFly Swarmという軽量版もある

3. WebSphere

  • IBMによって開発されたJavaベースのアプリケーションサーバー
  • 高度なセキュリティ、可用性、拡張性の機能を備える
  • WebSphere管理コンソールによるGUI管理が可能
  • 他のIBMミドルウェア製品とのシームレスな連携が可能

4. WebLogic Server

  • OracleによってJava EEアプリケーションサーバーとして開発
  • クラスタリング、ロードバランシング、マルチテナンシーなどのエンタープライズ機能を備える
  • Oracle製品との連携が容易
  • WebLogic Server管理コンソールによるGUI管理が可能

5. Nginx Unit

  • Nginxの開発元であるNginx Inc.が開発した動的Webアプリ向けのアプリケーションサーバー
  • Go、Node.js、PHP、Pythonなどに対応
  • リバースプロキシとアプリサーバーを1つのバイナリに統合
  • Nginxのアーキテクチャを引き継ぐため、高パフォーマンス

6. GlassFish

  • オープンソースのJavaEEアプリケーションサーバー
  • Eclipse Foundationによって開発・維持されている
  • モジュラーなカーネル設計で拡張性が高い
    -管理コンソールによるGUI管理が可能

アプリケーションサーバーの選定では、対応言語や標準規格、パフォーマンス要件、運用管理の容易性、既存インフラとの連携などを考慮する必要があります。大規模システムではJBoss、WebSphere、WebLogicなどのエンタープライズ向けアプリケーションサーバーが選ばれがちですが、中小規模システムではTomcatやGlassFishなどの軽量なオープンソースサーバーも多く使われています。また、マイクロサービスアーキテクチャの普及に伴い、Nginx Unitのような新しいタイプのアプリケーションサーバーも注目されています。

タイトルとURLをコピーしました