クラウド・コンピューティングは、従来から研究されてきた分散システムの考え方の上に実現されています。なので、クラウドシステムを理解するには、まずその基となる分散システムを理解しておく必要があるのです。
今日は、クラウド・コンピューティングを理解するに当たって知っておきたい、分散システムの最小構成について、おさらいしたいと思います。
分散システムの最小構成
1.クライアント
クライアントからサーバーにアクセスする場合は、レジストリから取得されたディスパッチャアドレスを使用してサーバーアドレスを動的に取得し、サーバーへのリクエストコールを行う。
2.サーバー
サーバーは起動時に、アドレス情報、そのサーバーが受け持つ処理内容などをディスパッチャに通知する。サーバープログラム内にアドレス情報は持たず、レジストリからディスパッチャアドレスを動的に取得して通信コネクションを確立する。
3.レジストリ
環境内で有効なディスパッチャアドレス情報のみを保持し、クライアントおよびサーバーからの問い合わせに応じて有効なディスパッチャアドレス情報を通知する。
4.リクエストディスパッチャ
環境内で稼動しているサーバーのアドレス、各サーバーの処理機能などをすべて把握する。またサーバーの負荷状況もディスパッチャで管理することが可能で、クライアントからのリクエストに応じて、リクエストに対する機能を持つサーバーのうちもっとも負荷の少ないサーバーをクライアントに通知する。
5.サーバーアドミニストレータ
サーバーに障害が発生していないかを常に監視する。定期ポーリングでサーバー障害を検出した場合、そのサーバーの再起動を試みるが、不可の場合は代替サーバーを割り当ててそのサーバーを起動する。これらの処理はアドミニストレータの監視画面から行え、手動処理で代替サーバーの起動処理を行なうことができる。
まとめ
上記が分散システムの最小構成の例です。これを拡大・展開していくことによって、大規模分散システムやクラウドシステムへと発展していくことになります。
クラウドでのシステム構成については、また別途まとめたいと思います。