2008年6月15日日曜日

Apache,TomCat,Weblogicって結局何してるの?

1年目の開発のときからシステム構成としてお決まりで登場したApache,Weblogic・・
教えてもらったのは、

Webサーバ:Apache
APサーバ:Weblogic, Tomcat

といわれても結局イメージがわかない

Webサーバは複数スレッドで処理する
APサーバはDBにアクセスして処理したり、プログラムの処理をしている。。。

この2つを立てる構成に何のメリットがあるのか?

昨日の電話で話していたことから、
こんなたとえ話が一番理解しやすかった。

マクドナルドをたとえ話として利用。
①店舗はシステム全体
②お店に来るお客さんはユーザ(システムにリクエストを投げる)
③注文カウンターはWebサーバ
 *複数いる店員はスレッド
④キッチンはAPサーバ
 *フライヤーやベイカーはモジュール?

複数のカウンタースタッフが客からの注文を聞き、
オーダーをキッチンに投げる。
複数いるので、客の注文の負荷分散をしている。
肉を焼くモジュールや、パンを焼いたり目玉焼きを作るモジュールがある。
複数の処理を行った上で出来たハンバーガーをカウンターに出す。
カウンターの店員が注文の品を客に渡す。
ここで思わぬうまいたとえだったのは、
Webサーバは画像の処理など単純な処理はAPサーバに返さず自分で処理してしまうこと。
これは、カウンターの店員もジュースやポテトを揚げるなど
簡単に出来る作業はカウンターで処理してしまうことに例えられない??

しかし、ユーザ数も少ないシステムだったら、
わざわざこの2サーバの構成にする必要も無いのではないか?
それは、学校の購買部にたとえる。
購買部のおばちゃんが一人でくる学生の注文を処理する。
カウンタもバックエンドもこのおばちゃん一人。
なぜなら、複数スレッド化する必要も無いから。

たとえ話にすると、システム稼働率にあわせてこんな構成の結論が出るけど、
実際はどうなんでしょう?
知ってる人に教えてもらいたい。

システムの話だけだとさっぱりわからず
1年目からこんなもやもやをひきずっていたけど(はい、SE失格です)
たとえ話にするとけっこうすんなり入ってくるものだ。

#正確な処理、機能、特長とかはanother Story

0 件のコメント: