SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
第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 が便利

Mais conteúdo relacionado

Mais procurados

Azure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionAzure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionTakekazu Omi
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所hdais
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Takuya ASADA
 
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
 
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 チームvyavyavyaupaa
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
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
 

Mais procurados (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
 

Semelhante a 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
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集Couchbase Japan KK
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Uemura Yuichi
 
分散環境における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 ArchiveCLOUDIAN KK
 

Semelhante a 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
 

Último

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

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 が便利