SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
OSC.Cloud 2012

           openstack
      Open source software to build public and private clouds.



     OpenStack を支える
     メッセージングの基礎

            2012.12.16
  日本 OpenStack ユーザ会 中島 @irix_jp
                                                                 1
前置き

●   OpenStack は分散指向
    ●   スケーラビリティ
    ●   アベイラビリティ

    ●   その仕組みとして、 AMQP によるメッセージング機構が
        採用されています。




                                       2
復習

●   OpenStack とは?

             OpenStack API 、 Amazon 互換 API

               ストレージ                         オブジェクト
    サーバ仮想化                    NW 仮想化
                仮想化                            ストア




                           OpenStack

                                               プロプライエタリ
     コモディティサーバ          コモディティサーバ
                                                ハードウェア




                                                          3
復習

●   OpenStack とは?

             OpenStack API 、 Amazon 互換 API

               ストレージ                         オブジェクト
    サーバ仮想化                    NW 仮想化
                仮想化                            ストア




                           OpenStack

                                               プロプライエタリ
     コモディティサーバ          コモディティサーバ
                                                ハードウェア

この中どうなってるの??

                                                          4
OpenStack の全体像




                 5
拡大図




      6
拡大図



      これの話




             7
概略イメージ図

  ●   全体像
                                      nova-scheduler


 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute     hypervisor


                                      nova-compute     hypervisor


                                      nova-compute     hypervisor



                                                               8
概略イメージ図

  ●   クライアントから API サーバに命令を発行
                                      nova-scheduler


 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute     hypervisor


                                      nova-compute     hypervisor


                                      nova-compute     hypervisor



                                                               9
概略イメージ図

  ●   API が命令を解釈してキューへリクエストを送信
                                      nova-scheduler
                              msg

 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute     hypervisor


                                      nova-compute     hypervisor


                                      nova-compute     hypervisor



                                                              10
概略イメージ図

  ●   キューを取り出し、実行するホストを決定。
                                      nova-scheduler   msg


 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute      hypervisor


                                      nova-compute      hypervisor


                                      nova-compute      hypervisor



                                                               11
概略イメージ図

  ●   実行するホストを指定してキューへ命令を戻す。
                                      nova-scheduler
                              msg
 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute     hypervisor


                                      nova-compute     hypervisor


                                      nova-compute     hypervisor



                                                              12
概略イメージ図

  ●   指定されたホストがキューから命令を取り出し実行
                                      nova-scheduler


 Horizon    HTTP                      nova-scheduler
                   nova-api
(web I/F)
                              Queue
  Client
                   nova-api
Command                               nova-compute     hypervisor

                                              msg
                                      nova-compute     hypervisor


                                      nova-compute     hypervisor



                                                              13
これが DB だったらかなり大変


                                    nova-scheduler


 Horizon    HTTP                    nova-scheduler
                   nova-api
(web I/F)
                              DB
  Client
                   nova-api
Command                             nova-compute     hypervisor


                                    nova-compute     hypervisor
                   FIFO の保証をどう担保?
                         負荷も集中
                                    nova-compute     hypervisor



OpenStack も DB は持っているので誤解なきように                              14
OpenStack では?




                15
Queue とは?

  ●   AMQP を使ったメッセージング機構
      ●     異なるノードに分散配置された各 Nova コンポーネント
            間での通信を実現する。
                                                                             nova-scheduler

 Horizon     HTTP
                           nova-api                                          nova-scheduler
(web I/F)
                                                           AMQP
  Client
                           nova-api
Command                                                                      nova-compute     hypervisor

                                                                             nova-compute     hypervisor

                                                                             nova-compute     hypervisor


            http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol                           16
AMQP とは?

●   Advanced Message Queuing Protocol
    ●   メッセージ指向ミドルウェアのオープンスタンダードなア
        プリケーション層プロトコルである。 AMQP の機能の定
        義は、メッセージ指向、キューイング、ルーティング ( ポイ
        ント・ツー・ポイント , 出版 - 購読型モデル ) 、信頼性、セ
        キュリティに及ぶ。 *1

    ●   OpenStack では以下が利用可能
        –    RabbitMQ (鉄板)
        –    Apache QPID ( RHEL 系ならあり)
        –    ZeroMQ (動かしてる人を見たことがない??)

        http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol   17
AMQP とは?

●   用語
    ●   ブローカー
        –    ようはキューサーバ / メッセージサーバの事


    ●   ブローカーは以下の 2 つの要素を持つ
        –    Queue ・・・メッセージがたまる所
        –    Exchange ・・・キューへの配送ルールを定義
                ●   メッセージ交換器




        http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol   18
AMQP とは?

●   Queue と Exchange を組み合わせる事で柔軟な
    メッセージ配送が可能になる。

    ●   Direct 配送
        –    Exchage & Queue が1:1で対応する
    ●   Fanout 配送
        –    Exchage & Queue が1: N で対応する
    ●   Topic 配送
        –    Exchage & Queue が1: N で対応する
                ●   ただしメッセージが含むキーワードにマッチした Queue にのみ配送


        http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol   19
OpenStack のメッセージ処理

●     メッセージングの実体は openstac.common.rpc
      以下に配置されている (Folsom )
        ●     通称 RPC

        ●     Exchange と Quene による各種配送処理を抽象化し
              た API で、 OpenStack の至るところで使われる重要な
              プログラム。
                –    同一コンポーネント全てへメッセージを送る
                –    誰か1台が受け取れば良いメッセージを送付
                –    特定の1台へメッセージを送付


    http://openstack.jp/assets/files/20120323/howtoreadnovacodes/rpc.html   20
nova-* が利用する queue

●   各 nova プロセスは起動時に AMQP ブローカーへ
    接続し、 3 つのキューを作成し、このキューへのメッ
    セージを待ち受けする。
    ●   例 ) QPID & nova-volume ( Essex )
        –   volume
             ●   誰か1台が受け取れ良いメッセージ

        –   volume.<<FQDN>>
             ●   自分自身が指定されたメッセージ

        –   volume_fanout_<<UUID>>
             ●   ブロードキャストメッセージを受け取る

                                           21
nova-* が利用する queue
                                                              どれか一台
  ●   例 ) QPID & nova-volume                         host1(FQDN1)

        msg                           volume         host2(FQDN2)   msg

                                                     host3(FQDN3)

              key=volume.<<FQDN1>>                         指定された一台
msg       nova                volume.<<FQDN1>>       host1(FQDN1) msg

                              volume.<<FQDN2>>       host2(FQDN2)

                                                                    全台
                           volume_fanout_<<UUID1>>   host1(FQDN1)   msg

msg   volume_fanout        volume_fanout_<<UUID2>>   host2(FQDN2)   msg

                           volume_fanout_<<UUID3>>   host3(FQDN3)   msg

       Exchange                      Queue              Receiver     22
まとめ

●   OpenStack は分散環境の制御に AMQP を利用
    ●   シンプルにスケーラビリティ、アベイラビリティを実現

    ●   AMQP は Exchage/Queue から構成される

    ●   メッセージングの仕組みを知っておくと、 OpenStack の
        動作理解の助けになります
        –   OpenStack に関係なく、ちょっとしたツールを作る際にも
            FIFO が保証され、様々な配送制御が可能な AMQP はとても
            便利です。
            ●   Python, Ruby, Perl, C/C++, Common Lisp 等ほとんど言語から
                利用可能です。
                                                               23

Más contenido relacionado

La actualidad más candente

Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)Akira Yoshiyama
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 
Openstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTOpenstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTNaoto Gohko
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2Etsuji Nakai
 
OpenStack Rocky リリース
OpenStack Rocky リリースOpenStack Rocky リリース
OpenStack Rocky リリースAkira Yoshiyama
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門Etsuji Nakai
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方Toru Makabe
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...Naoto Gohko
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはBrocade
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron HavanaAkihiro Motoki
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演VirtualTech Japan Inc.
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会Yuki Obara
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門Etsuji Nakai
 
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...VirtualTech Japan Inc.
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造Etsuji Nakai
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 

La actualidad más candente (20)

Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)Nova からみる OpenStack プロジェクトの歴史 (rev.4)
Nova からみる OpenStack プロジェクトの歴史 (rev.4)
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
Openstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LTOpenstack summit walk DNSaaS 2015-0713 Summit LT
Openstack summit walk DNSaaS 2015-0713 Summit LT
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
 
OpenStack Rocky リリース
OpenStack Rocky リリースOpenStack Rocky リリース
OpenStack Rocky リリース
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会
 
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL  - OpenStack...
OpenStackにおける、MySQLの活用 – OpenStackのリポジトリとしての、DBサービスの基盤としての、MySQL - OpenStack...
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenStack入門 2016/06/10
OpenStack入門 2016/06/10OpenStack入門 2016/06/10
OpenStack入門 2016/06/10
 

Destacado

OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lispirix_jp
 
glance replicator
glance replicatorglance replicator
glance replicatoririx_jp
 
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on CloudOpen stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on Cloudirix_jp
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStackirix_jp
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machinesirix_jp
 
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由irix_jp
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編irix_jp
 
JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101irix_jp
 
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-threadNoritada Shimizu
 
of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.Tsuubito Ishii
 
OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15irix_jp
 
JTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun TzuJTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun Tzuirix_jp
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutTsuubito Ishii
 
GLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめGLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめYoichi Hirata
 

Destacado (17)

OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
glance replicator
glance replicatorglance replicator
glance replicator
 
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on CloudOpen stack advent calendar 2012jp 12/17 Cloud on Cloud
Open stack advent calendar 2012jp 12/17 Cloud on Cloud
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStack
 
Control distribution of virtual machines
Control distribution of virtual machinesControl distribution of virtual machines
Control distribution of virtual machines
 
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
OSC.Cloud 2012 インフラエンジニアがOpenStackを学ぶべきたった一つの理由
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編
 
JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101JOSUG Meetup 28th Heat 101
JOSUG Meetup 28th Heat 101
 
2014/12/29 oF fukuoka
2014/12/29 oF fukuoka2014/12/29 oF fukuoka
2014/12/29 oF fukuoka
 
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
 
of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.
 
OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15OpenStack Advent Calendar 2012 JP 12/15
OpenStack Advent Calendar 2012 JP 12/15
 
Doc Display
Doc DisplayDoc Display
Doc Display
 
JTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun TzuJTF2016 The strategy and Sun Tzu
JTF2016 The strategy and Sun Tzu
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
O f 2014
O f 2014O f 2014
O f 2014
 
GLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめGLSLによるシェーダーアートことはじめ
GLSLによるシェーダーアートことはじめ
 

Similar a OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み

2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm
2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm
2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvmNaoto Gohko
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...Naoto Gohko
 
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~Naoto Gohko
 
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API DragonJOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API DragonNaoto Gohko
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical OverviewNakayama Kenjiro
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingKazuto Kusama
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack QuantumAkihiro Motoki
 
PostgreSQL on Amazon EC2の可能性
PostgreSQL on Amazon EC2の可能性PostgreSQL on Amazon EC2の可能性
PostgreSQL on Amazon EC2の可能性Serverworks Co.,Ltd.
 
SAN ブートでベアメタルクラウド
SAN ブートでベアメタルクラウドSAN ブートでベアメタルクラウド
SAN ブートでベアメタルクラウドShinjiNakai
 
Whats new Apache CloudStack
Whats new Apache CloudStackWhats new Apache CloudStack
Whats new Apache CloudStackKimihiko Kitase
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会axsh co., LTD.
 
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki MatsushitaInsight Technology, Inc.
 
DeNA Private Cloud の現在と未来
DeNA Private Cloud の現在と未来DeNA Private Cloud の現在と未来
DeNA Private Cloud の現在と未来DeNA
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構Ryosuke MATSUMOTO
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGHideki Saito
 

Similar a OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み (20)

2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm
2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm
2012 OSC Kyoto / 2012 OSC Tokyo Fall - OpenStack vps kvm
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
 
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
2012 OpenStack + KVM = onamae.com VPS #2 ~ vnc and snapshot ~
 
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API DragonJOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon
JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical Overview
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
 
Mod mrubyについて
Mod mrubyについてMod mrubyについて
Mod mrubyについて
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
 
PostgreSQL on Amazon EC2の可能性
PostgreSQL on Amazon EC2の可能性PostgreSQL on Amazon EC2の可能性
PostgreSQL on Amazon EC2の可能性
 
SAN ブートでベアメタルクラウド
SAN ブートでベアメタルクラウドSAN ブートでベアメタルクラウド
SAN ブートでベアメタルクラウド
 
Whats new Apache CloudStack
Whats new Apache CloudStackWhats new Apache CloudStack
Whats new Apache CloudStack
 
API Gateway / AWS CLI
API Gateway / AWS CLIAPI Gateway / AWS CLI
API Gateway / AWS CLI
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会
 
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita
[D22] Pivotal HD 2.0 -業界最高レベルSQL on Hadoop技術「HAWQ」解説- by Masayuki Matsushita
 
DeNA Private Cloud の現在と未来
DeNA Private Cloud の現在と未来DeNA Private Cloud の現在と未来
DeNA Private Cloud の現在と未来
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
 
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUGOSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
 
OpenFlow Controller lily
OpenFlow Controller lilyOpenFlow Controller lily
OpenFlow Controller lily
 

Más de irix_jp

The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CIirix_jp
 
The NoOps strategy and tactics
The NoOps strategy and tacticsThe NoOps strategy and tactics
The NoOps strategy and tacticsirix_jp
 
The practical guide of Infrastructure CI
The practical guide of Infrastructure CIThe practical guide of Infrastructure CI
The practical guide of Infrastructure CIirix_jp
 
The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018irix_jp
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup irix_jp
 
Japan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson EnvironmentJapan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson Environmentirix_jp
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Reportirix_jp
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applicationsirix_jp
 
OSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + JupyterOSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + Jupyteririx_jp
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
空回りのクラウド基盤導入
空回りのクラウド基盤導入空回りのクラウド基盤導入
空回りのクラウド基盤導入irix_jp
 
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)irix_jp
 
Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計irix_jp
 
OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要irix_jp
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編irix_jp
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編irix_jp
 
JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向irix_jp
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)irix_jp
 
Okinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack OverviewOkinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack Overviewirix_jp
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overviewirix_jp
 

Más de irix_jp (20)

The invitation to Infrastructure CI
The invitation to Infrastructure CIThe invitation to Infrastructure CI
The invitation to Infrastructure CI
 
The NoOps strategy and tactics
The NoOps strategy and tacticsThe NoOps strategy and tactics
The NoOps strategy and tactics
 
The practical guide of Infrastructure CI
The practical guide of Infrastructure CIThe practical guide of Infrastructure CI
The practical guide of Infrastructure CI
 
The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018The strategy from the Iserlohn fortress at JTF2018
The strategy from the Iserlohn fortress at JTF2018
 
JOSUG 34th Meetup
JOSUG 34th Meetup JOSUG 34th Meetup
JOSUG 34th Meetup
 
Japan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson EnvironmentJapan OpenStack User Group 34th Meetup - Handson Environment
Japan OpenStack User Group 34th Meetup - Handson Environment
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Report
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applications
 
OSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + JupyterOSC2016 Kyoto Heat + Ansible + Jupyter
OSC2016 Kyoto Heat + Ansible + Jupyter
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
空回りのクラウド基盤導入
空回りのクラウド基盤導入空回りのクラウド基盤導入
空回りのクラウド基盤導入
 
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ(前半)
 
Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計Josug 20th meetup アンケート集計
Josug 20th meetup アンケート集計
 
OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要OSC@Kyoto2014 OpenStack概要
OSC@Kyoto2014 OpenStack概要
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack 基礎操作編
 
JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向JTF2014:OpenStackの概要と最新技術動向
JTF2014:OpenStackの概要と最新技術動向
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
 
Okinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack OverviewOkinawa Open Days - OpenStack Overview
Okinawa Open Days - OpenStack Overview
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 

OSC.Cloud 2012 分散システムを支えるメッセージングの仕組み

  • 1. OSC.Cloud 2012 openstack Open source software to build public and private clouds. OpenStack を支える メッセージングの基礎 2012.12.16 日本 OpenStack ユーザ会 中島 @irix_jp 1
  • 2. 前置き ● OpenStack は分散指向 ● スケーラビリティ ● アベイラビリティ ● その仕組みとして、 AMQP によるメッセージング機構が 採用されています。 2
  • 3. 復習 ● OpenStack とは? OpenStack API 、 Amazon 互換 API ストレージ オブジェクト サーバ仮想化 NW 仮想化 仮想化 ストア OpenStack プロプライエタリ コモディティサーバ コモディティサーバ ハードウェア 3
  • 4. 復習 ● OpenStack とは? OpenStack API 、 Amazon 互換 API ストレージ オブジェクト サーバ仮想化 NW 仮想化 仮想化 ストア OpenStack プロプライエタリ コモディティサーバ コモディティサーバ ハードウェア この中どうなってるの?? 4
  • 7. 拡大図 これの話 7
  • 8. 概略イメージ図 ● 全体像 nova-scheduler Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor 8
  • 9. 概略イメージ図 ● クライアントから API サーバに命令を発行 nova-scheduler Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor 9
  • 10. 概略イメージ図 ● API が命令を解釈してキューへリクエストを送信 nova-scheduler msg Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor 10
  • 11. 概略イメージ図 ● キューを取り出し、実行するホストを決定。 nova-scheduler msg Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor 11
  • 12. 概略イメージ図 ● 実行するホストを指定してキューへ命令を戻す。 nova-scheduler msg Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor 12
  • 13. 概略イメージ図 ● 指定されたホストがキューから命令を取り出し実行 nova-scheduler Horizon HTTP nova-scheduler nova-api (web I/F) Queue Client nova-api Command nova-compute hypervisor msg nova-compute hypervisor nova-compute hypervisor 13
  • 14. これが DB だったらかなり大変 nova-scheduler Horizon HTTP nova-scheduler nova-api (web I/F) DB Client nova-api Command nova-compute hypervisor nova-compute hypervisor FIFO の保証をどう担保? 負荷も集中 nova-compute hypervisor OpenStack も DB は持っているので誤解なきように 14
  • 16. Queue とは? ● AMQP を使ったメッセージング機構 ● 異なるノードに分散配置された各 Nova コンポーネント 間での通信を実現する。 nova-scheduler Horizon HTTP nova-api nova-scheduler (web I/F) AMQP Client nova-api Command nova-compute hypervisor nova-compute hypervisor nova-compute hypervisor http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol 16
  • 17. AMQP とは? ● Advanced Message Queuing Protocol ● メッセージ指向ミドルウェアのオープンスタンダードなア プリケーション層プロトコルである。 AMQP の機能の定 義は、メッセージ指向、キューイング、ルーティング ( ポイ ント・ツー・ポイント , 出版 - 購読型モデル ) 、信頼性、セ キュリティに及ぶ。 *1 ● OpenStack では以下が利用可能 – RabbitMQ (鉄板) – Apache QPID ( RHEL 系ならあり) – ZeroMQ (動かしてる人を見たことがない??) http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol 17
  • 18. AMQP とは? ● 用語 ● ブローカー – ようはキューサーバ / メッセージサーバの事 ● ブローカーは以下の 2 つの要素を持つ – Queue ・・・メッセージがたまる所 – Exchange ・・・キューへの配送ルールを定義 ● メッセージ交換器 http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol 18
  • 19. AMQP とは? ● Queue と Exchange を組み合わせる事で柔軟な メッセージ配送が可能になる。 ● Direct 配送 – Exchage & Queue が1:1で対応する ● Fanout 配送 – Exchage & Queue が1: N で対応する ● Topic 配送 – Exchage & Queue が1: N で対応する ● ただしメッセージが含むキーワードにマッチした Queue にのみ配送 http://ja.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol 19
  • 20. OpenStack のメッセージ処理 ● メッセージングの実体は openstac.common.rpc 以下に配置されている (Folsom ) ● 通称 RPC ● Exchange と Quene による各種配送処理を抽象化し た API で、 OpenStack の至るところで使われる重要な プログラム。 – 同一コンポーネント全てへメッセージを送る – 誰か1台が受け取れば良いメッセージを送付 – 特定の1台へメッセージを送付 http://openstack.jp/assets/files/20120323/howtoreadnovacodes/rpc.html 20
  • 21. nova-* が利用する queue ● 各 nova プロセスは起動時に AMQP ブローカーへ 接続し、 3 つのキューを作成し、このキューへのメッ セージを待ち受けする。 ● 例 ) QPID & nova-volume ( Essex ) – volume ● 誰か1台が受け取れ良いメッセージ – volume.<<FQDN>> ● 自分自身が指定されたメッセージ – volume_fanout_<<UUID>> ● ブロードキャストメッセージを受け取る 21
  • 22. nova-* が利用する queue どれか一台 ● 例 ) QPID & nova-volume host1(FQDN1) msg volume host2(FQDN2) msg host3(FQDN3) key=volume.<<FQDN1>> 指定された一台 msg nova volume.<<FQDN1>> host1(FQDN1) msg volume.<<FQDN2>> host2(FQDN2) 全台 volume_fanout_<<UUID1>> host1(FQDN1) msg msg volume_fanout volume_fanout_<<UUID2>> host2(FQDN2) msg volume_fanout_<<UUID3>> host3(FQDN3) msg Exchange Queue Receiver 22
  • 23. まとめ ● OpenStack は分散環境の制御に AMQP を利用 ● シンプルにスケーラビリティ、アベイラビリティを実現 ● AMQP は Exchage/Queue から構成される ● メッセージングの仕組みを知っておくと、 OpenStack の 動作理解の助けになります – OpenStack に関係なく、ちょっとしたツールを作る際にも FIFO が保証され、様々な配送制御が可能な AMQP はとても 便利です。 ● Python, Ruby, Perl, C/C++, Common Lisp 等ほとんど言語から 利用可能です。 23