vFabricを触ろう

3,954 views

Published on

2011/8/1のSpringユーザ会の勉強会で発表したものです

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,954
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 何やら Cloud に手をつけた VmWare に買収された  仮想化製品と連携するの? 期待が膨らむ 今年 8 月に SpringSource のブログで RodJhonson が「 SpringSource は EnterpriseJavaCloud を開始した」という内容をポスト Cloud Foundry  
  • vFabricを触ろう

    1. 1. vFabric を触ろう 日本 Spring ユーザ会 土岐孝平
    2. 2. 自己紹介 <ul><li>土岐 孝平 ( とき こうへい ) </li></ul><ul><ul><li>合同会社 Starlight&Storm のメンバ </li></ul></ul><ul><li>活動内容 </li></ul><ul><ul><li>各種オープンソースフレームワークのコンサルティングや教育 </li></ul></ul><ul><ul><li>記事などの執筆 </li></ul></ul><ul><ul><ul><li>日経 SYSTEMS にクラウド関連の記事を連載中! </li></ul></ul></ul>
    3. 3. アジェンダ <ul><li>vFabric の概要 </li></ul><ul><li>vFabric が提供する製品群 </li></ul><ul><li>それぞれの製品を触ろう </li></ul>
    4. 4. vFabric の概要 <ul><li>VMWare が提供する Java アプリケーションプラットホーム </li></ul><ul><ul><li>AP サーバーやデータベースやメッセージキューなどのソフトウェアを1セットで提供する </li></ul></ul><ul><ul><li>もともとは SpringSource が提供していた製品群 </li></ul></ul><ul><li>VMware vFabric Cloud Application Platform </li></ul><ul><ul><li>vSphere のメモリ管理機能を利用したコンピュータリソースの有効活用 </li></ul></ul><ul><ul><li>vCenter によるアプリケーションの監視 </li></ul></ul><ul><ul><li>仮想マシンの数に応じた価格体系を提供 </li></ul></ul>
    5. 5. vFabric が提供する製品群 【その他の製品】 ・ VMware Web Server   ERS の廉価版? ・ VMware vFabric SQLFire 現在ベータ版 ERS ( Enterprise Ready Server )
    6. 6. それぞれの製品を触ろう <ul><li>30 日または 60 日の試用版が利用できる </li></ul><ul><li>今回試すこと </li></ul><ul><ul><li>tc Server 2 つを ERS でロードバランスしてみる </li></ul></ul><ul><ul><li>gemfire を触ってみる </li></ul></ul><ul><ul><li>rabbitMQ を触ってみる </li></ul></ul>
    7. 7. tc Server 2 つを ERS でロードバランスしてみる
    8. 8. tc Server とは? <ul><li>エンタープライズ向けにカスタマイズされた Tomcat </li></ul><ul><li>Tomcat 互換 </li></ul><ul><ul><li>開発者にお馴染みの Tomcat </li></ul></ul><ul><ul><li>本番移行時の手間がかからない </li></ul></ul><ul><li>Tomcat + α </li></ul><ul><ul><li>管理・監視コンソール </li></ul></ul><ul><ul><li>パフォーマンスモニタリング </li></ul></ul><ul><ul><li>プロフェッショナルサポート </li></ul></ul>
    9. 9. ERS(Enterprise Ready Server) とは? <ul><li>Web サーバーとロードバランスの機能を提供 </li></ul><ul><ul><li>Apache HTTP Server を使用している </li></ul></ul><ul><li>Apache と比較して最大 100% のパフォーマンスアップ </li></ul><ul><li>迅速にバグフィックスするサポートを提供 </li></ul><ul><ul><li>Apache HTTP Server のサポートを提供していた Covalent 社を SpringSource が過去に買収している </li></ul></ul>
    10. 10. 今回試した構成 私のノート PC 192.168.172.1 VMware Workstation 192.168.172.133 ERS 192.168.172.134 tc Server server01 192.168.172.135 tc Server server02 ブラウザ JMeter
    11. 11. ロードバランスの設定方法 LoadModule proxy_balancer_module &quot;/home/ers/apache2.2/modules/standard/mod_proxy_balancer.so&quot; LoadModule proxy_module &quot;/home/ers/apache2.2/modules/standard/mod_proxy.so&quot; LoadModule proxy_http_module &quot;/home/ers/apache2.2/modules/standard/mod_proxy_http.so&quot; <Proxy balancer://my-balancer> BalancerMember http://192.168.172.134:8080 route=myserver01 loadfactor=1 BalancerMember http://192.168.172.135:8080 route=myserver02 loadfactor=1 ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid </Proxy> ProxyPass /jpetstore balancer://my-balancer/jpetstore ProxyPassReverse /jpetstore http://192.168.172.134:8080/jpetstore ProxyPassReverse /jpetstore http://192.168.172.135:8080/jpetstore <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all # BE VERY RESTRICTIVE with YOUR ALLOW STATEMENT Allow from 127.0.0.1 </Location> 【 ERS 】 httpsd.conf 【 tc Server 】 server.xml <Engine name=&quot;Catalina&quot; defaultHost=&quot;localhost&quot; jvmRoute=“server01&quot;> ロードバランスの アルゴリズム ・ byrequests ・ bytraffic ・ bybusyness sticky session 必要なモジュールの ロード メンバの設定 ERS の監視画面 リバース sticky session
    12. 12. デモ <ul><li>JpetStore で操作しながら、 ERS の管理画面でリクエストの行先のカウントを確認する </li></ul><ul><li>JMeter でリクエストの分散を確認する </li></ul>
    13. 13. RabbitMQ を触ってみる
    14. 14. RabbitMQ の概要 1/2 <ul><li>AMQP(Advanced Message Queuing Protocol) を実装したメッセージキュー </li></ul><ul><li>多彩なメッセージングのパターンに対応 </li></ul><ul><ul><li>point-to-point, point-and-shoot, work queues, publishsubscribe,routing, topics, multicast, RPC... </li></ul></ul>
    15. 15. RabbitMQ の概要 2/2 <ul><li>多彩なプロトコル、言語 ( クライアント側 ) に対応 </li></ul>
    16. 16. 今回試した構成 私のノート PC 192.168.172.1 VMware Workstation 192.168.172.132 RabbitMQ Server Eclipse 監視 コンソール
    17. 17. デモ <ul><li>Producer と Comsumer の単純なメッセージを試す </li></ul>
    18. 18. gemfire を触ってみる
    19. 19. GemFire の概要 ・メモリーベースの分散型のデータ管理プラットホーム ( 永続化も可能 ) ・ key-value ストア ・マシンを動的に追加可能 ・非同期のイベント通知
    20. 20. 今回試した構成 私のノート PC 192.168.172.1 VMware Workstation 192.168.172.128 GemFire Locator GemFire cacheserver server1 GemFire cacheserver server2 GemFire cacheserver server3 GemFire Client
    21. 21. データ 【 Java のクラス】 【 GemFire の Region 】 people <name : String, Profile> posts <PostID, text : String>
    22. 22. people Region <ul><li>Region の種類: Replicate </li></ul>
    23. 23. posts Region <ul><li>Region の種類: partitioned </li></ul>
    24. 24. cacheserver の設定 <cache> <region name=&quot;people&quot; refid=&quot;REPLICATE&quot;> <region-attributes> <cache-listener> <class-name>com.gemstone.gemfire.tutorial.storage.LoggingCacheListener</class-name> </cache-listener> </region-attributes> </region> <region name=&quot;posts&quot; refid=&quot;PARTITION_REDUNDANT&quot;> <region-attributes> <cache-listener> <class-name>com.gemstone.gemfire.tutorial.storage.LoggingCacheListener</class-name> </cache-listener> </region-attributes> </region> </cache> server.xml 【各 cacheserver 共通】 ・イベントのリスナー ・ローカルに格納されたデータの内容を 標準出力に出力 ・イベントのリスナー ・ローカルに格納されたデータの内容を 標準出力に出力
    25. 25. デモ <ul><li>クライアントから people と posts にデータを追加 </li></ul><ul><ul><li>Replecate と Partitioned の動きの違いを確認 </li></ul></ul>
    26. 26. HQ を触りたかったけど・・・
    27. 27. Hyperic HQ の概要 <ul><li>Hyperic HQ を使って tc Server を管理・監視 </li></ul><ul><ul><li>※ 他のミドルウェアや OS リソースも監視できる </li></ul></ul><ul><li>管理 </li></ul><ul><ul><li>ランタイムインスタンスの起動・停止 </li></ul></ul><ul><ul><li>JVM オプション・ JDBC データソースなどの設定 </li></ul></ul><ul><ul><li>Web アプリケーションのデプロイ </li></ul></ul><ul><li>監視 </li></ul><ul><ul><li>リソースの閲覧・監視・コントロール </li></ul></ul><ul><ul><li>デッドロックの検知 </li></ul></ul><ul><ul><li>ガベージコレクションの時間 </li></ul></ul><ul><ul><li>JDBC データソースの監視 </li></ul></ul><ul><li>計測 </li></ul><ul><ul><li>instrumented 版の Spring Framework を利用し、 bean のメソッドの処理時間などを表示 </li></ul></ul>
    28. 28. HQ Server と HQ Agent <ul><li>複数のランタイムインスタンスを一箇所で管理・監視 </li></ul>
    29. 29. ご清聴ありがとうございました
    30. 30. ライセンスについて <ul><li>JSUG マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 </li></ul><ul><li>非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 </li></ul><ul><li>本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。 </li></ul>

    ×