Archive for 5月, 2007

GlassFish v2のインメモリセッションリプリケーションの概要



JavaOneの初日以降アップデートができなくて申し訳ありませんでした。

期間中、急遽仕事が舞い込んできたため、アップデートができませんでした。

JavaOneについての報告は、他のエンジニアの方達が既にたくさん報告してくださって

いるので、改めてという事も少ないのですが。JavaOneのセッションにおいて、

GlassFish v2についてのセッションに出てきたので技術的な概要の紹介を少しします。



GlassFish v2よりインメモリセッションリプリケーション機能が追加されました。

この機能はショッピングサイトにおけるショッピングカートの実装を

思い浮かべてもらえば分かりやすいのですが、ユーザが買い物かごに入れた

商品のデータは通常HTTPセッションのようなメモリ上に格納されます。

このため障害が発生するとメモリ上のデータであるカートの情報は失われてしまいます。

セッションリプリケーションでは、システムに障害が発生した場合に、

このカートの情報が失われないよう他のマシンにも常にセッション情報を

コピーし保持しておく仕組みです。



GlassFish v2ではセッションリプリケーションを行うため2通りの方法を提供しています。



●HADB (High Availability Database)の使用

●オンメモリセッションリプリケーションの使用(New)



1つはSun Java System Application Server Enterprise Edition 7以降で

利用されているHADBを利用する構成です。



そしてもう一つは、今回新たに導入されたインメモリセッションリプリケーションです。



GlassFish v2より新しく追加されたインメモリセッションリプリケーションの

動作を下記に説明します。

インメモリ内に保持するセッション情報は下記の通りです。



●Http session state

●Stateful (EJB technology) Session bean state



クラスタ構成された各インスタンスはそれぞれ、自動的に決定されたペアが存在し、

それぞれのインスタンスとペア間でHTTPセッション等のデータをコピーし

単一システムの障害に備えています。



例えば、Instance 1とInstance 2がペアである場合、ロードバランサ経由で

Instance 1に最初のリクエストが要求されると、Instance 1でセッションが

作成された後、セッション情報はInstance 2にコピーされます。







この状況でマシンに何らかの障害が発生し停止した際、クライアントである

Web ブラウザからの要求に対して、下記のいずれかのマシンから応答が返されます。

これはロードバランサがマシンの障害を検出すると、別の送信先を任意に決定するためです。



1.ペアになっていたインスタンス(例:Instance 2)に要求された場合

2.ペアではないインスタンス(例:Instance 3 もしくはInstance4)に要求された場合



まずロードバランサ経由で、ペアになっていたインスタンス(Instance 2)に

要求された場合、ペアであったインスタンス(Instance 2)から直接応答を返します。







次に、ペアではなかったインスタンス(例:Intance 3、Instance 4)に要求された場合、

返信用封筒付[Self-Addressed-Stamped-Envelope (SASE)]のリクエストを、クラスタ内に

所属する全インスタンスにブロードキャストし、返信に応じたインスタンス

(例:Instance 2)よりセッション情報を受け取りWebブラウザに対して応答を返します。





また、クラスタ内では障害発生システムを自動的に検知しクラスタのメンバーから

はずす処理なども行われています。

このセッション情報の共有、クラスタメンバの動的再構成にはJXTAの技術が

用いられています。



最後に、

Sun Java System Application Server 8.xまでは高可用性を実現するためには、

HADB以外に選択肢がありませんでした。しかしGlassFish v2以降では、HADBに加え

インメモリセッションリプリケーションも選択できるようになります。

インメモリセッションリプリケーションは、HADBに比べスループットが向上します。

一方、HADBは99.999%の高可用性を実現する事ができます。



今後、御客様のニーズに応じ最適な構成を選択してください。


2007年5月30日 at 8:36 PM

JavaOne初日の報告

JavaOne初日がようやく終わりました。



今日は本当に刺激的な1日でした。

朝会場に到着すると既に多くの人が集まっていました。









ジェネラルセッションについては既にマスコミの方が

記事にされてらっしゃいますので、私が語ることも

あまりないのですが。



http://journal.mycom.co.jp/news/2007/05/09/002/index.html

http://itpro.nikkeibp.co.jp/article/NEWS/20070509/270281/

http://www.itmedia.co.jp/enterprise/articles/0705/09/news017.html

http://www.itmedia.co.jp/enterprise/articles/0705/09/news009.html

http://itpro.nikkeibp.co.jp/article/NEWS/20070508/270178/

http://www.itmedia.co.jp/enterprise/articles/0705/08/news038.html

http://japan.cnet.com/news/ent/story/0,2000056022,20348401,00.htm

http://www.atmarkit.co.jp/news/200705/08/tim.html

http://www.itmedia.co.jp/enterprise/articles/0705/08/news070.html

http://japan.zdnet.com/oss/story/0,3800075264,20348370,00.htm

http://www.atmarkit.co.jp/news/200705/08/tim2.html

http://journal.mycom.co.jp/articles/2007/05/08/timbray/index.html

(順不同)



ポイントとしては下記の4つではないでしょうか。



●Sun Java System Communications Application Serverの発表

●JavaFXの発表

●JavaFX Mobileの発表

●OpenJDKの発表








この中で、記者の方達も注目するJavaFXのデモはとてもインパクトの

あるものでした。数行のスクリプトを記述するだけでリッチクライアントを

容易に作成できるようになっており、Flashに取って変わる技術になることが

期待されます。










さて、ジェネラルセッションの最後には毎年恒例のジェームスゴスリンによる

Tシャツ投げのイベントがありました。

私は前から10列目位の比較的前方に座っていたのですが、ジェームス

ゴスリンがこっちに向ってTシャツを投げました。

私は、社員だし他の人も手を挙げているから誰かがキャッチするだろうと、

思っていた所、そのTシャツはかなりのスピードで私の方にやってくるでは

ありませんか、それでものんきに構えていたら、結局誰も取らずに、私の

顔面に直撃!!私の顔に当ったTシャツは私の足元にコロリ、周りの人は

大丈夫?!と声を掛けてくれます。ははっ(^_^;)と苦笑いをしながら、

Tシャツを手にしました。そんなこんなで痛い目をして受け取った今年の

Tシャツは下記の物です。ちなみにサイズはアメリカンサイズのXLです。

私にはぶかぶかで到底着ることはできません。

記念に家に眠らせておくことにします。








さて、ジェネラルセッションが終わった後は、テクニカルセッションの始まりです。

今日は、午前中1つ、午後5つのセッションを聞いてきました。

最後のセッションはPM10:00~PM10:50までですので、かなりハードな1日でした。



また、テクニカルセッションの合間には、JavaOne Pavilionにも少し

顔を出してきました。Sunのブースでは、Project Black Boxのトレーラが

展示されていて実際にBlack Boxの中に入ったり中身を見ることも

できるようになっていました。また、Web Serverの展示場に言った所、

プロダクトマネージャーのJoeMcCabeさん(写真右)をはじめ

エンジニアリングチームのArvindさん(写真左)や、その上司達に

会うこともできました。

私はJoeさんにしか面識はなかったのですが、何故か、あちらで私の

名前が売れているらしく

Joeさんが「彼が日本の寺田 佳央だ」と言うと本当に喜んで会って

色々な会話をしてくれました。

Joeにはアジア圏でWeb Serverを紹介する際には、エバンジェリスト

として一緒に来ないか?!なんて誘いも受けましたが、

上司に相談しなければできないと言っておきました。

(その前に私の英会話能力もないけど。。。。)

お互いに可能であれば昼食を一緒に取らないか?と御誘いを受けたので、

可能な限り一緒に食事をしてきて交流を深めたり、日本のニーズを

伝えたりして来たいと思います。








Pavilion見学が終わった後、日本のJavaOneで私がハンズオンラボを行った際に

色々と手伝ってくださった、Doris Chenさんのセッションが会ったので、

久々という事もあり挨拶がてらにセッション(Top 10 Reason to Use NetBeans

SOA(Enterprise) Pack)を受けてきました。

SOA関連のBPELのデザイナの他、非常に簡単にSOAアプリケーションの作成が

可能になるツールですので、是非皆様も試しに使ってみてください。



次にGlassFish V3に関するセッションを受けてきました。

GlassFish V3ではHTTPを扱う部分ではGrizzlyを使用し、また

モジュール化が進める事により非常にコンパクトなアプリケーション

サーバになっています。極端な言い方をすれば携帯電話上でGlassFishを

動かすことができるようなくらい非常にコンパクトなつくりになっています。



このモジュール化については、オープンソースをする事により、より多くの

開発者が容易にモジュールの開発ができるように、また既存の

フレームワークとの統合等が容易にできるように、モジュール化を

できるようにしたという事でした。

これにより、例えばEJBが必要の無いサイトではEJBを組み込まないように等と

いった必要に応じてロードするモジュールを決める事ができるようになります。


このセッションが終わった後、このセッションにヘルプで着ていた、

Sun Microsystems Incの「川口 耕介」さん(JAXの第一人者)と

話をすることができました。

川口さんには開発の現場サイドからの生の声として色々と情報を頂きたいと

伝え、快く引き受けて頂きました。(かなりラッキーな出会いでした。)



長い1日でしたが、こちらに来て開発者達と直接交流が持てるため、

本当に来て良かったと思いました。



また、明日も頑張りたいと思います。



今は、AM1:00を回りました。疲れていて乱文乱筆になって申しわけありませんが、

どうぞ御許しください。

明日も朝早いので今日はこの位で寝たいと思います。


2007年5月9日 at 1:10 AM

Before JavaOne(CommunityOne) in SanFrancisco

今日は、JavaOneカンファレンス2007の前日に開催されている

CommunityOneというイベントに行ってきました。



今日のサンフランシスコ







実は、日本から持ってきたデジカメが昨日突然壊れてしまい、(T_T)

急遽、今日の朝サンフランシスコで新しいカメラを調達するという

不運にも恵まれましたが、何とかCommunityOneのGeneral Sessionに

間に合うことができました。



午前中は、Generalセッションが開催され、Tim O’Reilly

によるスピーチが行われました。



セッションの後は、GlassFish Day関連のセッションに参加しました。









まず、一つ目のGlassFish v2の紹介のセミナーでは

Glass Fish v2に関する紹介が行われました。

このセッションは、Overviewと題するように概要が説明されました。



この中で特に1点だけ注目したのは、Glass Fish v2から
セッションリプリケーションの機能が入る事になった点です。

Applicationサーバのセッションリプリケーションは、

JXTAの技術(+ Project Shoal)を使用したオンメモリの

セッションリプリケーションのようです。

  # Web サーバの実装とは異なるようです。









また、セッションリプリケーションのパフォーマンスに関しても、

Application Server 8.2までセッションリプリケーションとして使用していた

(GlassFishでも使えます)HADBよりも17%~25%も向上しているようです。





次に、「GF in Real Life」では、3つのGlassFishの導入事例が紹介

されました。



●Wotif.com

●MIT

●ビデオ配信会社



ここで、注目すべきは学術系以外に商用でも既に利用されているということです。

オープンソースを使用しているメリットとして、導入前に発見された約10個の

バグが、早急に解決され現在では殆どのバグが修正されたバージョンを使用

されているという事でした。







余談

明日からJavaOneが開催されますが、私は他の方と違い仕事柄ミドルウェア系を

中心に聞く予定ですので、他の方とは違ったJavaOneになるかと思います。

あまり、最初から色々書くと後から書けなくなると困るので

今日は、この辺にさせてください。



余談2:

休憩時間にはWIRESS LANで自由にネット接続が可能なため、

多くの方がそこら辺でネットに繋いで作業をしていました。

私も自分のPCで接続して調べ物をしたりしてましたがやはり便利ですね!!




2007年5月7日 at 10:14 PM

サンフランシスコ到着

先ほど、サンフランシスコに到着しました。



飛行機の中ではあまり寝れなくて、半分寝ぼけた状態ですが、

今日一日散歩などをしてこちらの時間に合わせたいと思います。



ちなみに、今日の天気は快晴で長袖では暑すぎるくらいです。










2007年5月6日 at 12:30 PM


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2007年5月
« 4月   6月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

カテゴリー

Twitter

  • DEISは分かりやすく言うと、HerokuがAzureにやってきた!!という感じかな。 17 hours ago
  • まだ、完全ではありませんが、最初の大事な部分はまとめたので、オリジナルメモよりもやりやすくなるかと思います。 ちなみに、オリジナルの検証メモはこちら。 github.com/yoshioterada/P… 17 hours ago
  • de:code 発表用に DEIS on Kubernetes on Azure Container Service について色々と検証した内容を誰でも触れるように、この土日でハンズオン資料としてまとめました。 github.com/yoshioterada/D… 17 hours ago
  • @opendeis Now, I’m creating following documents. github.com/yoshioterada/D… 1 day ago
  • RT @msdevjp: ジャパン・インターカルチュラル・コンサルティング社 社長 Rochelle Kopp 氏と米マイクロソフト DevOps エバンジェリスト 牛尾 は、DevOpsなどが日本に導入できない理由を、これらが西洋の問題を解決するためのものだからだと指摘。 #… 2 days ago

clustermap

ブログ統計情報

  • 955,338 hits

Feeds