ミッションクリティカルな業務システムには,システムが提供するサービスをできるだけ停止することなく,安定して提供し続けられる仕組みが求められます。
例えば,提供するサービスの内容によっては,24時間連続稼働が求められるサービスや,障害が発生して業務システムが止まることで大きな損失が発生するサービスもあります。
このため,業務システムの基盤であるアプリケーションサーバには,まず,障害を未然に防ぐこと,そして,もし障害が発生しても,障害の影響範囲を局所的に抑え,業務システムを止めることなく運用し続けられることが求められます。また,障害が発生した個所は迅速に回復できることが必要です。
ここでは,Cosminexusで実現できる,可用性と耐障害性の高いシステムの特長について説明します。なお,それぞれの機能の詳細については,マニュアル「Cosminexus 機能解説」を参照してください。
アプリケーションやリソースの稼働状態を監視して,障害の予兆を検知し,障害発生を予防できます。また,しきい値を設定して監視することで,しきい値を超えた場合に自動的に対処するためのアクションも定義できます。
例えば,リクエストの集中によってJavaVMでフルガーベージコレクションが多発する場合に,一定時間内に発生するフルガーベージコレクションの回数にしきい値を設定して監視できます。しきい値を超えた場合にリクエストの同時実行数を動的に減らすなどの処理を自動実行することで,システムのスローダウンを予防できます。
障害発生時の可用性を高めるためには,次の機能を使用できます。
業務をコンポーネント化することで,可用性の高いシステムが構築できます。
Cosminexusでは,サーバサイドのコンポーネント技術である,EJBの仕様に対応したコンテナおよびサービスを提供することで,J2EEに準拠したアプリケーションサーバを構築できます。
EJBの仕様では,それぞれの業務処理プログラムが,Enterprise Beanとしてコンポーネント化されます。Enterprise Beanは,J2EEアプリケーションに組み込まれて実行されます。業務処理が変更になった場合に,該当するEnterprise Beanだけを入れ替えることもできます。
業務のコンポーネント化の概要を次の図に示します。
図4-3 業務のコンポーネント化の概要