Clusterセミナー その3(まとめ)

4日間,常に脳を圧迫しつづけたセミナーだった(セミナー終了後に夕方寝して休憩しないと夜に頭が動かなかった)けれども,日が進むにつれて若干楽にはなりつつはあった.

話が一番低いレイヤー(JGroups)から始まり,中間レイヤー(JBossCache)に移り,そして一番高いレイヤー(EJB Cluster,HttpSession Replicationなど)へと繋がるストーリーだったから.高レイヤーの方はある程度既習分野だったというのもあるからね.

詳細はまた後で述べるとして,とりあえず全体の感想.

可用性に関しては,ほっとけば単一障害点は発生しないアーキテクチャになっているのでまあ良し.性能については,JGroupsプロトコルスタックについてやはり一にも二にも理解を深め,ネットワーク管理者と一緒にいろいろチューニングを行うこと.たぶんネットワーク詳しくない普通のディベロッパだけだとチューニングは無理.それは何度も講師の人も言っていた.あとはJBossCacheなどでのロックなどに気を付けるといったところか.

# というわけで帰国したらSさんよろしくお願いします :)

ちなみにJBoss Clusterに関して言うと,JBoss 4.0.3までとJBoss 4.0.4とでは大幅に異なる.何が異なるかと言うと,各クラスタコンポーネントが使用するJBossCacheが,JBoss 4.0.3までは"JBossCache"であるが,JBoss 4.0.4から"JBossCacheAOP"になるから.いわゆるフィールド単位でのレプリケーションはこれによって初めて達成されるということ.超重要.

ちなみに浅学にしてセミナー受講前は理解していなかったのだが,Apache TomcatJBossに組み込まれたTomcatはClusterに関しては全く別物である.Apache TomcatはHttpSessionReplicationに独自のライブラリを使用して行っているが,JBoss TomcatはJBossCache(今後はJBossCacheAOP)およびJGroupsを使用するように改変されている.Tomcatの某主要コミッタでJBoss社員の人(名前失念)がこの改変をやっているらしい.だからApache TomcatJBoss TomcatはHttpSessionReplicationのチューニング方法も性能も別.ちなみにJBoss 3.2.5およびJBoss 4.0.1までのJBoss TomcatはJGroupsを直接使用していた(それ以降,JBossCacheのAPIを使うように改変,理由はWikiにでも書くかも).

そんなワケで,とりあえずJBossCacheAOPもJGroupsも単体で動かせるのでそれで使い方とかを習熟したほうがよさげ.という感じでごぜーます.