SlideShare a Scribd company logo
第2回 Cloud Foundry 輪読会




VCAPの中のNATS
VCAPの

   Katsunori Kawaguchi
        @hamakn
       2011-11-17
VCAPの各コンポーネント間の
     メッセージングに、
NATSがどう利用されているかを
サンプルを見ながら共有します。
アジェンダ
1. 復習:NATSとは?
2. NATSとCF各コンポーネント
3. ケーススタディ
 1. アプリのデプロイ時
 2. アプリの削除時
 3. DEAの障害発生時
4. まとめ          TODO: 今回はちゃんと
                20分で終わらせます…
自己紹介
• 川口 克則 @hamakn
• NTTコム所属
• Web/スマートフォンアプリの開発
  主にRails

• Cloud Foundryを検証中(2011年10月~)
 – 最近は、アカウント払出/管理アプリを作ったり、
   vcapノードの追加/管理ツールを作ったり。
復習:NATSとは?
1. NATSは、
   EventMachineを使い、
   Rubyで実装された、
   軽量なPub/Sub メッセージングシステム
2. Cloud FoundryはNATSを使っている
   疎結合で自律的なシステムをNATSで実現。

 ※詳細は前回の資料
 http://www.slideshare.net/hamakn/reading-nats
 などを参照してください。
NATSとCloud Foundry



 この
実装が
NATS

           Cloud Foundry The building of the Open PaaS OSCON2011
              http://www.slideshare.net/derekcollison/oscon-2011
NATSとCloud Foundry(2)




   青い
  矢印が
 NATSの
メッセージ       Cloud Foundry The building of the Open PaaS OSCON2011
               http://www.slideshare.net/derekcollison/oscon-2011
例

             subject: dea.discover
             mem:256 disk:2048 fds:256 runtime:ruby
             このアプリを実行できるDEAいる?

  Cloud      reply:
Controller
             できるよー

                                                              DEA


             subject: router.register
             url:test.cloudfoundry.com host:172.16.0.10 port:10000
             というアプリを登録よろしく > router
   DEA
NATSメッセージの確認
• NATSの入っているサーバで
 $ nats-sub ‘>’ –s nats://nats_address:nats_port/
 Listening on [>]
 [#1] Received on [router.start] : …

 – ‘>’ で全てのpublishされたメッセージをListen

• vcap自体のログと合わせて見ると
  動きが把握しやすい
• ソースを追う時は、
  NATS/publish/subscribe
  などでgrepするといい
ケーススタディ
1. アプリのデプロイ時



           ccと
           service



           ccとhm
           とdea
1-1. Cloud Controllerと
                Serviceのやり取り
# Publisher Subscriber Subject                Context
1 cc        service    *aaS.discover          serviceの存在確認
2 service   cc         reply to #1            service idと残容量の返答
3 cc        service    *aaS.provision.service_id #2のserviceへの
                                                 provision要求
4 service   cc         reply to #3            DB, user, passwdなどの
                                              返答
5 cc        service    *aaS.bind.service_id   #4のserviceへの
                                              bind要求
6 service   cc         reply to #5            bind結果の返答
NATSとCloud Foundry(2)




   1.1
のやり取り

            Cloud Foundry The building of the Open PaaS OSCON2011
               http://www.slideshare.net/derekcollison/oscon-2011
1-2. CC, HM, deaのやり取り
           (前半: Stagingまで)
# Publisher Subscriber Subject        Context
1 cc        hm         droplet.updated dropletのupdateの通知
2 cc        dea        dea.discover   memoryやruntimeの条件に合う
                                      deaの返答要求
3 dea       cc         reply to #2    #2に対して、
                                      受け入れ可能な返答
4 cc        dea        dea.dea_id.start dea_idのアプリの実行開始要求
NATSとCloud Foundry(2)




   1.2
のやり取り

            Cloud Foundry The building of the Open PaaS OSCON2011
               http://www.slideshare.net/derekcollison/oscon-2011
1-3. CC, HM, deaのやり取り
         (後半: アプリ実行開始まで)
# Publisher Subscriber Subject            Context
1 cc        hm         healthmanager.health アプリのhealth状況の問い合
                                            わせ(instance数)
2 hm        cc         reply to #1
3 cc        hm         healthmanager.status アプリのstatus状況の問い合
                                            わせ(flapping, crushed)
4 hm        cc         reply to #3
5 hm        dea        dea.heartbeat      heartbeat
1~5を繰り返す
6 dea       router     router.register    アプリのhost:portへの
                                          regist要求
NATSとCloud Foundry(2)




   1.3
のやり取り

            Cloud Foundry The building of the Open PaaS OSCON2011
               http://www.slideshare.net/derekcollison/oscon-2011
まとめ
• NATSがvcapでどう使われているかを
  具体例とともに見てみました
 – この仕組みによって、CloudFoundryは
   疎結合で自律的なシステムになっています。


• コードを追う際は、
 – 全メッセージをsubscribeする
   NATSクライアントが便利
 – git grep NATS/publish/subscribe が便利

More Related Content

What's hot

Azure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionAzure Fabric Service Reliable Collection
Azure Fabric Service Reliable Collection
Takekazu Omi
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
hdais
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
hdais
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
Rongze Zhu
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
 
Reading NATS
Reading NATSReading NATS
Reading NATS
Katsunori Kawaguchi
 
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
MastodonインスタンスをセットアップできるスタートアップスクリプトについてMastodonインスタンスをセットアップできるスタートアップスクリプトについて
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
さくらインターネット株式会社
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
Daisuke Ikeda
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
 
CometPub20070223
CometPub20070223CometPub20070223
CometPub20070223Hiroshi Ono
 
Hack for Docker's Network
Hack for Docker's NetworkHack for Docker's Network
Hack for Docker's Network
Masahito Yoshida
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉
Haruyuki Nakano
 
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
Masahito Zembutsu
 
INTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavyaINTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavya
upaa
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
OpenFlow Controller lily
OpenFlow Controller lilyOpenFlow Controller lily
OpenFlow Controller lily
Kazuhiro Miyashita
 
Linux Namespace
Linux NamespaceLinux Namespace
Linux Namespace
Masami Ichikawa
 
Ingress on GKE/GCE
Ingress on GKE/GCEIngress on GKE/GCE
Ingress on GKE/GCE
shouta yoshikai
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
Daisuke Hiraoka
 
Quick Introduction to GlusterFS
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFSEtsuji Nakai
 

What's hot (20)

Azure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionAzure Fabric Service Reliable Collection
Azure Fabric Service Reliable Collection
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
MastodonインスタンスをセットアップできるスタートアップスクリプトについてMastodonインスタンスをセットアップできるスタートアップスクリプトについて
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
 
Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
CometPub20070223
CometPub20070223CometPub20070223
CometPub20070223
 
Hack for Docker's Network
Hack for Docker's NetworkHack for Docker's Network
Hack for Docker's Network
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉
 
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
 
INTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavyaINTEROP2013 ORC チームvyavyavya
INTEROP2013 ORC チームvyavyavya
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
OpenFlow Controller lily
OpenFlow Controller lilyOpenFlow Controller lily
OpenFlow Controller lily
 
Linux Namespace
Linux NamespaceLinux Namespace
Linux Namespace
 
Ingress on GKE/GCE
Ingress on GKE/GCEIngress on GKE/GCE
Ingress on GKE/GCE
 
Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
Quick Introduction to GlusterFS
Quick Introduction to GlusterFSQuick Introduction to GlusterFS
Quick Introduction to GlusterFS
 

Similar to NATS on VCAP

Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
Couchbase Japan KK
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
Uemura Yuichi
 
Twemproxy (nutcracker)
Twemproxy (nutcracker)Twemproxy (nutcracker)
Twemproxy (nutcracker)
Yoshinori Teraoka
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Masahito Zembutsu
 
第13回CloudStackユーザ会_CloudStack4.1新機能
第13回CloudStackユーザ会_CloudStack4.1新機能第13回CloudStackユーザ会_CloudStack4.1新機能
第13回CloudStackユーザ会_CloudStack4.1新機能
Midori Oge
 
【Brocade OpenStack ソリューション】LBaaS プラグイン
【Brocade OpenStack ソリューション】LBaaS プラグイン【Brocade OpenStack ソリューション】LBaaS プラグイン
【Brocade OpenStack ソリューション】LBaaS プラグイン
Brocade
 
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
Yoshinori Teraoka
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
junichi anno
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性Masayoshi Hagiwara
 
CloudStackとNetScalerの連携
CloudStackとNetScalerの連携CloudStackとNetScalerの連携
CloudStackとNetScalerの連携
Satoshi Shimazaki
 
Couchbase meetup20140225[Release Note 2.5]
Couchbase meetup20140225[Release Note 2.5]Couchbase meetup20140225[Release Note 2.5]
Couchbase meetup20140225[Release Note 2.5]
ktoda
 
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
IIJ
 
[Basic 6] DNS / ソケット通信 / その他
[Basic 6] DNS / ソケット通信 / その他[Basic 6] DNS / ソケット通信 / その他
[Basic 6] DNS / ソケット通信 / その他
Yuto Takei
 
CloudStack User Inferface
CloudStack User InferfaceCloudStack User Inferface
CloudStack User InferfaceKimihiko Kitase
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
Google Cloud Platform - Japan
 
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)Satoshi Shimazaki
 
CommVault with Cloudian for Data Backup and Archive
CommVault with Cloudian for Data Backup and ArchiveCommVault with Cloudian for Data Backup and Archive
CommVault with Cloudian for Data Backup and Archive
CLOUDIAN KK
 

Similar to NATS on VCAP (20)

Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
Twemproxy (nutcracker)
Twemproxy (nutcracker)Twemproxy (nutcracker)
Twemproxy (nutcracker)
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
第13回CloudStackユーザ会_CloudStack4.1新機能
第13回CloudStackユーザ会_CloudStack4.1新機能第13回CloudStackユーザ会_CloudStack4.1新機能
第13回CloudStackユーザ会_CloudStack4.1新機能
 
【Brocade OpenStack ソリューション】LBaaS プラグイン
【Brocade OpenStack ソリューション】LBaaS プラグイン【Brocade OpenStack ソリューション】LBaaS プラグイン
【Brocade OpenStack ソリューション】LBaaS プラグイン
 
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性
 
CloudStackとNetScalerの連携
CloudStackとNetScalerの連携CloudStackとNetScalerの連携
CloudStackとNetScalerの連携
 
Couchbase meetup20140225[Release Note 2.5]
Couchbase meetup20140225[Release Note 2.5]Couchbase meetup20140225[Release Note 2.5]
Couchbase meetup20140225[Release Note 2.5]
 
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来Stratosphereが提供するSDN/OpenFlow技術の現在と未来
Stratosphereが提供するSDN/OpenFlow技術の現在と未来
 
[Basic 6] DNS / ソケット通信 / その他
[Basic 6] DNS / ソケット通信 / その他[Basic 6] DNS / ソケット通信 / その他
[Basic 6] DNS / ソケット通信 / その他
 
CloudStack User Inferface
CloudStack User InferfaceCloudStack User Inferface
CloudStack User Inferface
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
 
CommVault with Cloudian for Data Backup and Archive
CommVault with Cloudian for Data Backup and ArchiveCommVault with Cloudian for Data Backup and Archive
CommVault with Cloudian for Data Backup and Archive
 

Recently uploaded

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

NATS on VCAP

  • 1. 第2回 Cloud Foundry 輪読会 VCAPの中のNATS VCAPの Katsunori Kawaguchi @hamakn 2011-11-17
  • 2. VCAPの各コンポーネント間の メッセージングに、 NATSがどう利用されているかを サンプルを見ながら共有します。
  • 3. アジェンダ 1. 復習:NATSとは? 2. NATSとCF各コンポーネント 3. ケーススタディ 1. アプリのデプロイ時 2. アプリの削除時 3. DEAの障害発生時 4. まとめ TODO: 今回はちゃんと 20分で終わらせます…
  • 4. 自己紹介 • 川口 克則 @hamakn • NTTコム所属 • Web/スマートフォンアプリの開発 主にRails • Cloud Foundryを検証中(2011年10月~) – 最近は、アカウント払出/管理アプリを作ったり、 vcapノードの追加/管理ツールを作ったり。
  • 5. 復習:NATSとは? 1. NATSは、 EventMachineを使い、 Rubyで実装された、 軽量なPub/Sub メッセージングシステム 2. Cloud FoundryはNATSを使っている 疎結合で自律的なシステムをNATSで実現。 ※詳細は前回の資料 http://www.slideshare.net/hamakn/reading-nats などを参照してください。
  • 6. NATSとCloud Foundry この 実装が NATS Cloud Foundry The building of the Open PaaS OSCON2011 http://www.slideshare.net/derekcollison/oscon-2011
  • 7. NATSとCloud Foundry(2) 青い 矢印が NATSの メッセージ Cloud Foundry The building of the Open PaaS OSCON2011 http://www.slideshare.net/derekcollison/oscon-2011
  • 8. subject: dea.discover mem:256 disk:2048 fds:256 runtime:ruby このアプリを実行できるDEAいる? Cloud reply: Controller できるよー DEA subject: router.register url:test.cloudfoundry.com host:172.16.0.10 port:10000 というアプリを登録よろしく > router DEA
  • 9. NATSメッセージの確認 • NATSの入っているサーバで $ nats-sub ‘>’ –s nats://nats_address:nats_port/ Listening on [>] [#1] Received on [router.start] : … – ‘>’ で全てのpublishされたメッセージをListen • vcap自体のログと合わせて見ると 動きが把握しやすい • ソースを追う時は、 NATS/publish/subscribe などでgrepするといい
  • 11. 1. アプリのデプロイ時 ccと service ccとhm とdea
  • 12. 1-1. Cloud Controllerと Serviceのやり取り # Publisher Subscriber Subject Context 1 cc service *aaS.discover serviceの存在確認 2 service cc reply to #1 service idと残容量の返答 3 cc service *aaS.provision.service_id #2のserviceへの provision要求 4 service cc reply to #3 DB, user, passwdなどの 返答 5 cc service *aaS.bind.service_id #4のserviceへの bind要求 6 service cc reply to #5 bind結果の返答
  • 13. NATSとCloud Foundry(2) 1.1 のやり取り Cloud Foundry The building of the Open PaaS OSCON2011 http://www.slideshare.net/derekcollison/oscon-2011
  • 14. 1-2. CC, HM, deaのやり取り (前半: Stagingまで) # Publisher Subscriber Subject Context 1 cc hm droplet.updated dropletのupdateの通知 2 cc dea dea.discover memoryやruntimeの条件に合う deaの返答要求 3 dea cc reply to #2 #2に対して、 受け入れ可能な返答 4 cc dea dea.dea_id.start dea_idのアプリの実行開始要求
  • 15. NATSとCloud Foundry(2) 1.2 のやり取り Cloud Foundry The building of the Open PaaS OSCON2011 http://www.slideshare.net/derekcollison/oscon-2011
  • 16. 1-3. CC, HM, deaのやり取り (後半: アプリ実行開始まで) # Publisher Subscriber Subject Context 1 cc hm healthmanager.health アプリのhealth状況の問い合 わせ(instance数) 2 hm cc reply to #1 3 cc hm healthmanager.status アプリのstatus状況の問い合 わせ(flapping, crushed) 4 hm cc reply to #3 5 hm dea dea.heartbeat heartbeat 1~5を繰り返す 6 dea router router.register アプリのhost:portへの regist要求
  • 17. NATSとCloud Foundry(2) 1.3 のやり取り Cloud Foundry The building of the Open PaaS OSCON2011 http://www.slideshare.net/derekcollison/oscon-2011
  • 18. まとめ • NATSがvcapでどう使われているかを 具体例とともに見てみました – この仕組みによって、CloudFoundryは 疎結合で自律的なシステムになっています。 • コードを追う際は、 – 全メッセージをsubscribeする NATSクライアントが便利 – git grep NATS/publish/subscribe が便利