SlideShare a Scribd company logo
1 of 29
Download to read offline
Copyright © NTT Communications Corporation. All rights reserved.Copyright © NTT Communications Corporation. All rights reserved.
RabbitMQ can scale out !!
OpenStack RPC messaging analysis
Copyright © NTT Communications Corporation. All rights reserved.
Mahito Ogura <m.ogura@ntt.com>
NTTコミュニケーションズ
技術開発部 クラウドコアTU
本業:主夫、副業としてIT芸人の活動
● インフラ構築(Chef, Ansible)
● アプリケーション開発(Ruby)
● OpenStackとか分散ミドルとかコンテナ
● 採用のお手伝いとか各種イベント業, etc...
About me
2
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
● 2年ほど前にCanonical社から「1万VMでMessageQueue(以下MQ)がボトルネッ
クとなりそれ以降のVM作成が困難」とのレポートがあった
○ OpenStack SummitやOps MeetupにおいてもMQの性能問題は話題に上がっており、
Nova Cellの利用や、一部のコンポーネントを別 MQに分けるなどの対策が知られている
○ 一方で、OpenStackで多く利用されている RabbitMQクラスタを複数運用する場合、
安定性の面で課題があると言われている
● OpenStackの大規模化においてMQがボトルネックになりうるかの検証、ならびに、
ボトルネックの解消や安定運用に繋がる方式の検討を行った
Background
Copyright © NTT Communications Corporation. All rights reserved.
Goal:
● 1 RabbitMQ Clusterで多数のVMを収容可能にする
Action
● RabbitMQ 性能 / 機能検証
● OpenStack 内部メッセージング解析 / 負荷試験
● OpenStack 上におけるMQ改善方式の検証
Goal / Action
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
RabbitMQはPivotal社が開発するAdvanced Message Queuing Protocol(AMQP)を
使用したオープンソースのメッセージ指向ミドルウェアである。
RabbitMQクラスタではQueueをミラーリングすることで高可用性(HA)を実現している。
ミラーリング設定(ha-mode)には以下の3つがある[1]
● all:Queueはクラスタの全てのノードにミラーされる。
● exactly:Queueはクラスタ内のノードに指定数分だけミラーされる。クラスタ内のノードが指定
数よりも少ない場合は、クラスタ内のすべてのノードにミラーされる。
● node:Queueはノード名で指定したノードにミラーされる。
RabbitMQ is
[1]:https://www.rabbitmq.com/ha.htmla
Copyright © NTT Communications Corporation. All rights reserved.
RabbiMQ
クラスタ
Can RabbitMQ scale out with “exactly” mode ?
RabbitMQクラスタはQueueをクラスタ内に分散させることでRead/Writeの分散を行う。
複数QueueへのRead/Writeが存在する場合、処理が各ノードへ分散するため,1ノード
あたりの負荷が軽減しクラスタ全体として性能向上すると考えられる。
今回はexactly(mirror = 2)に設定し、可用性を担保した上でスケールアウト可能か検証
を行った
client
2
4
6 スケールアウト
client
1
3
4
5 6
2
3
5
1
単一ノード
Copyright © NTT Communications Corporation. All rights reserved.
“HA = exactly” can scale out
下記図の通り,exactly(mirror=2)の設定においてスケールアウトが可能である
クラスタのノード台数が増えるごとに処理性能が向上することを確認できた[1]
図1:Node=5 図2:Node=6 図3:Node=7
[1]:message受付ノードに負荷が集中するのを避けるため、Load Barancerを置いて負荷分散を行った上で性能測定を行った
Copyright © NTT Communications Corporation. All rights reserved.
“HA = all” can NOT scale out
allではノード数が増えると大幅に性能低下する
● all設定ではスケールアウトしない
○ ミラーリングに大きくコストがかかっていると思われる
図2:Node=5, HA-mode=all図1:Node=2, HA-mode=all
Copyright © NTT Communications Corporation. All rights reserved.
● スケールアウト
○ HA-modeがexactlyの設定においてスケールアウトが可能
● RabbitMQクラスタのノード増設の挙動
○ 増設を行った場合、新規キューは増設ノードに配置される可能性があるが、
既存キューはリバランスが行われないため増設ノードに配置されない
■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要
● リバランスにより容量の多いキューのミラーリングは高負荷が発生する
○ 増設後にクライアントもしくはLBで増設ノードへの接続先更新等の処理が必要
Results of RabbitMQ verification 1/2
Copyright © NTT Communications Corporation. All rights reserved.
● RabbitMQクラスタのノード減設の挙動
○ 耐障害性は高く,検証においてはキューが完全に消失することはなかった
○ 減設時にメッセージロストが通常時より増加する点は注意が必要
■ クライアント側でのエラーハンドリングが必要
● RabbitMQクラスタの障害時の挙動
○ クラスタノード減設時と同様の挙動
○ 障害に伴うノード減により既存キューのリバランスは発生するが、増設と同様に復旧によ
るノード増によるリバランスが発生しない
■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要
Results of RabbitMQ verification 2/2
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
OpenStack messaging inspection
OpenStackではコンポーネント間や、コンポーネント内のサービス間のやりとりにおいて
MQを利用したメッセージングを採用している。
OpenStackのメッセージングは大きく分けると以下の2タイプである
● API起因メッセージング
○ ユーザリクエスト
○ 定期メッセージングからの呼び出し
○ etc…
● 定期メッセージング
○ ステータス確認/更新等
○ etc...
図1:NovaとCinderにおけるメッセージング
Copyright © NTT Communications Corporation. All rights reserved.
OpenStackの中で使われているMQのメッセージング種別は以下の3つ
作成されるQueueの目安
● “サービス名”のQueue
● fanout用の“サービス名_fanout_<<uuid>>”のQueue
● “サービス名.ホスト名”のQueue
● callのリプライ用の”reply_<<uuid>>”のQueue
Messaging kinds in OpenStack
メッセージング種別 メッセージング対象 リプライの有無
cast 1 : 1 なし
call 1 : 1 あり
fanout 1 : n なし
Copyright © NTT Communications Corporation. All rights reserved.
ユーザリクエストや、定期メッセージングからの呼び出しにより通信が発生する
Type 1: API call messaging
16
nova-api
Queue
<conductor>
RabbitMQ
nova-conductor
Queue
<scheduler>nova-scheduler
Queue
<reply_xxx>
Queue
<compute.”host”>nova-compute
①
②
③
④
⑤
① ”conductor”へのcast
② ”scheduler”へのcall
③ ②へのreply
④ 特定のcomputeノードへのcall
⑤ ④のreply
図1:インスタンス作成の流れ
Copyright © NTT Communications Corporation. All rights reserved.
Periodic task in OpenStack
OpenStackのサービス内では定期的に実行されるタスクが存在する。それらの中には
RPCにより他サービスへのメッセージングを行うものも存在する。
主要コンポーネント(Nova, Neutron, Cinder, Glance, Keystone)では以下の通り
● Nova:24(RPCあり23, RPCなし:1)
● Neutron:2(RPCあり:2)
● Cinder:2(RPCあり:1, RPCなし:1)
● Glance:なし
● Keystone:なし
Copyright © NTT Communications Corporation. All rights reserved.
内部で定期的にAPIコールやDBアクセス、他サービスへの通信が発生する
Type 2: Periodic task messaging
18
nova-compute
Queue
<conductor>
RabbitMQ
nova-conductor
Queue
<reply_xxx>
nova-scheduler
Queue
<scheduler>
①
②
③
① ”conductor”へのcall
  Databaseへのアクセス
② ①へのreply
③ ”scheduler”へのcast
図1:スケジューラへのインスタンス情報同期の流れ
Database
Copyright © NTT Communications Corporation. All rights reserved.
Results of OpenStack messaging inspection 1/2
OpenStackのメッセージングは大きく分けて「API起因」と「定期実行」の2種類が存在す
る。
API起因、定期実行ともに共通のキューを利用するためキューの数はノードやサービス
の増加がない限り増えない
メッセージの流量はAPI call数やインスタンス、ブロックデバイス、ルータなどのリソース
や、サービスノードの数に比例して増減する
メッセージサイズはインスタンスやブロックデバイス、ルータの数などに比例して増加す
る
Copyright © NTT Communications Corporation. All rights reserved.
Results of OpenStack messaging inspection 2/2
Novaへの最大メッセージ流量見積もり(msg/s)
メッセージサイズはインスタンス数やルータの数などに比例して増加する
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Environment
弊部で公開しているOpenStackのStaging環境においてインスタンスを1~1,000 インス
タンスまで作成を行い各キューへのメッセージングの流量やメッセージのサイズの計測
を行った。
● nova-compute:13 node
● RabbitMQ v3.2.4:3 node (HA:ALL)
Copyright © NTT Communications Corporation. All rights reserved.
Number of Messages & Message size
1時間におけるメッセージ数、メッセージサイズ累計はインスタンスの増加に比例して増
加することが分かる。特にconductorに対する増加は顕著である。
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Conclusion
● RabbitMQのクラスタ機能と、HA機能を組み合わせることで、
可用性を持ちつつスケールアウト可能なMQクラスタを構築できる
○ キューのRead/Writeをクラスタ内で分散させる負荷分散のため、特定のキューに対する性能上限
を迎えた場合はスケールアップでの対応が必要
● OpenStackのメッセージングはAPI callと定期タスクにより発生し、その流度やメッ
セージサイズはサービス数やインスタンス数に比例して増減する
○ 特にnova-computeがDBアクセスのために、nova-conductorに投げるMessageが増加する。
● RabbitMQのHA: exactlyでの運用に関する情報が少ないため、
今後は大規模化・長期安定化試験などによリ問題がないかの確認が必要
Copyright © NTT Communications Corporation. All rights reserved.
Agenda
● Background
● Goal / Action
● RabbitMQ verification
● OpenStack messaging inspection
● Instance increasement load testing
● Conclusion
● Reference
Copyright © NTT Communications Corporation. All rights reserved.
Reference : OpenStack Summit Barcelona
● RabbitMQ at Scale, Lessons Learned
○ Ciscoが1つのRabbitMQクラスタで800+ compute nodeを運用しているという話
○ HAはALLでRabbitMQは3台構成
○ KernelとErlang VMとRabbitMQをチューニングすれば 800+ nodeも対応可能とのこと
● Chasing 1000 Nodes Scale
○ デフォルトの設定では CPUロードがさばけなくコアを増やして対応した
○ CPUとRAMを十分に設定した場合 MySQLやRabbitMQはボトルネックではない
○ nova-schedulerのパフォーマンスとスケーラビリティが問題
Copyright © NTT Communications Corporation. All rights reserved.
[1]:https://bugs.launchpad.net/neutron/+bug/1528895
[2] : https://bugs.launchpad.net/neutron/+bug/1430999
Reference : Error while processing VIF ports
事象:OVS Neutron agentのエラーが多発
Module:neutron.plugins.openvswitch.agent.ovs_neutron_agent
Message:Error while processing VIF ports
原因:Neutronのupdate_device_up処理がRPCリクエストの
  時間内に完了せずタイムアウトを迎えるため[1][2]
対処:RPCタイムアウトの時間を伸ばす
  (修正パッチは現在対応が停止中)
Copyright © NTT Communications Corporation. All rights reserved.
Reference : Remote error: DBConnectionError
事象:DBコネクションエラー
Error during ComputeManager.update_available_resource: Remote error: DBConnectionError
(OperationalError) (2003, "Can't connect to MySQL server on 'x.x.x.x' (113)") None None
原因:インスタンスが増加に伴いDBへのコネクションが枯渇
対処:DBへのコネクション数を増やす

More Related Content

What's hot

Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Hiroyuki Wada
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 
JAWS-UG初心者支部 リザーブドインスタンス買ってみた
JAWS-UG初心者支部 リザーブドインスタンス買ってみたJAWS-UG初心者支部 リザーブドインスタンス買ってみた
JAWS-UG初心者支部 リザーブドインスタンス買ってみた佐藤 雅樹
 
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!オラクルエンジニア通信
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud Platform - Japan
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実IIJ
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道Jun Kato
 
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやMySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやyoku0825
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コースJuniper Networks (日本)
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
トピックブランチとは
トピックブランチとはトピックブランチとは
トピックブランチとはnakajima_yuji
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
AWS Black Belt Online Seminar AWSで実現するDisaster RecoveryAWS Black Belt Online Seminar AWSで実現するDisaster Recovery
AWS Black Belt Online Seminar AWSで実現するDisaster RecoveryAmazon Web Services Japan
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門Yoshimura Soichiro
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 

What's hot (20)

Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
JAWS-UG初心者支部 リザーブドインスタンス買ってみた
JAWS-UG初心者支部 リザーブドインスタンス買ってみたJAWS-UG初心者支部 リザーブドインスタンス買ってみた
JAWS-UG初心者支部 リザーブドインスタンス買ってみた
 
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
 
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサGoogle Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれやMySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
トピックブランチとは
トピックブランチとはトピックブランチとは
トピックブランチとは
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
AWS Black Belt Online Seminar AWSで実現するDisaster RecoveryAWS Black Belt Online Seminar AWSで実現するDisaster Recovery
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 

Similar to RabbitMQ can scale out!!(jp ops-workshop-3)

OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateHirofumi Ichihara
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたTakashi Sogabe
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudToshikazu Ichikawa
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料VirtualTech Japan Inc.
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版VirtualTech Japan Inc.
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11Masaya Aoyama
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?Naoto Gohko
 
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.
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Weibo Corporation
 
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向Hirofumi Ichihara
 
Open Source Study Session #3
Open Source Study Session #3Open Source Study Session #3
Open Source Study Session #3Satoshi Konno
 

Similar to RabbitMQ can scale out!!(jp ops-workshop-3) (20)

OpsからみたOpenStack Summit
OpsからみたOpenStack SummitOpsからみたOpenStack Summit
OpsからみたOpenStack Summit
 
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron UpdateOpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
 
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド - OpenStack Day Tokyo 2018講演資料
 
QFabric for Cloud Builders
QFabric for Cloud BuildersQFabric for Cloud Builders
QFabric for Cloud Builders
 
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
OpenStack Ops Mid-Cycle Meetup & Project Team Gathering出張報告
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
KubeCon Recap for Istio and K8s network performance @Kubernetes Meetup #11
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?
 
2016-ShowNet-PTP (Precision Time Protocol)
2016-ShowNet-PTP (Precision Time Protocol)2016-ShowNet-PTP (Precision Time Protocol)
2016-ShowNet-PTP (Precision Time Protocol)
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905Mexico ops meetup発表資料 20170905
Mexico ops meetup発表資料 20170905
 
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...
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
 
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
 
Open Source Study Session #3
Open Source Study Session #3Open Source Study Session #3
Open Source Study Session #3
 

More from NTT Communications Technology Development

クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようNTT Communications Technology Development
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介NTT Communications Technology Development
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて NTT Communications Technology Development
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...NTT Communications Technology Development
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡NTT Communications Technology Development
 

More from NTT Communications Technology Development (20)

クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
マルチクラウドでContinuous Deliveryを実現するSpinnakerについて
 
Argo CDについて
Argo CDについてArgo CDについて
Argo CDについて
 
SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
Can we boost more HPC performance? Integrate IBM POWER servers with GPUs to O...
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -NTT Tech Conference #2 - closing -
NTT Tech Conference #2 - closing -
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築SpinnakerとOpenStackの構築
SpinnakerとOpenStackの構築
 
Troveコミュニティ動向
Troveコミュニティ動向Troveコミュニティ動向
Troveコミュニティ動向
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
 
NTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening KeynoteNTT Tech Conference #1 Opening Keynote
NTT Tech Conference #1 Opening Keynote
 
NTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing KeynoteNTT Tech Conference #1 Closing Keynote
NTT Tech Conference #1 Closing Keynote
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
TPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポートTPAC 2015 WebRTC WG 最新レポート
TPAC 2015 WebRTC WG 最新レポート
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

RabbitMQ can scale out!!(jp ops-workshop-3)

  • 1. Copyright © NTT Communications Corporation. All rights reserved.Copyright © NTT Communications Corporation. All rights reserved. RabbitMQ can scale out !! OpenStack RPC messaging analysis
  • 2. Copyright © NTT Communications Corporation. All rights reserved. Mahito Ogura <m.ogura@ntt.com> NTTコミュニケーションズ 技術開発部 クラウドコアTU 本業:主夫、副業としてIT芸人の活動 ● インフラ構築(Chef, Ansible) ● アプリケーション開発(Ruby) ● OpenStackとか分散ミドルとかコンテナ ● 採用のお手伝いとか各種イベント業, etc... About me 2
  • 3. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 4. Copyright © NTT Communications Corporation. All rights reserved. ● 2年ほど前にCanonical社から「1万VMでMessageQueue(以下MQ)がボトルネッ クとなりそれ以降のVM作成が困難」とのレポートがあった ○ OpenStack SummitやOps MeetupにおいてもMQの性能問題は話題に上がっており、 Nova Cellの利用や、一部のコンポーネントを別 MQに分けるなどの対策が知られている ○ 一方で、OpenStackで多く利用されている RabbitMQクラスタを複数運用する場合、 安定性の面で課題があると言われている ● OpenStackの大規模化においてMQがボトルネックになりうるかの検証、ならびに、 ボトルネックの解消や安定運用に繋がる方式の検討を行った Background
  • 5. Copyright © NTT Communications Corporation. All rights reserved. Goal: ● 1 RabbitMQ Clusterで多数のVMを収容可能にする Action ● RabbitMQ 性能 / 機能検証 ● OpenStack 内部メッセージング解析 / 負荷試験 ● OpenStack 上におけるMQ改善方式の検証 Goal / Action
  • 6. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 7. Copyright © NTT Communications Corporation. All rights reserved. RabbitMQはPivotal社が開発するAdvanced Message Queuing Protocol(AMQP)を 使用したオープンソースのメッセージ指向ミドルウェアである。 RabbitMQクラスタではQueueをミラーリングすることで高可用性(HA)を実現している。 ミラーリング設定(ha-mode)には以下の3つがある[1] ● all:Queueはクラスタの全てのノードにミラーされる。 ● exactly:Queueはクラスタ内のノードに指定数分だけミラーされる。クラスタ内のノードが指定 数よりも少ない場合は、クラスタ内のすべてのノードにミラーされる。 ● node:Queueはノード名で指定したノードにミラーされる。 RabbitMQ is [1]:https://www.rabbitmq.com/ha.htmla
  • 8. Copyright © NTT Communications Corporation. All rights reserved. RabbiMQ クラスタ Can RabbitMQ scale out with “exactly” mode ? RabbitMQクラスタはQueueをクラスタ内に分散させることでRead/Writeの分散を行う。 複数QueueへのRead/Writeが存在する場合、処理が各ノードへ分散するため,1ノード あたりの負荷が軽減しクラスタ全体として性能向上すると考えられる。 今回はexactly(mirror = 2)に設定し、可用性を担保した上でスケールアウト可能か検証 を行った client 2 4 6 スケールアウト client 1 3 4 5 6 2 3 5 1 単一ノード
  • 9. Copyright © NTT Communications Corporation. All rights reserved. “HA = exactly” can scale out 下記図の通り,exactly(mirror=2)の設定においてスケールアウトが可能である クラスタのノード台数が増えるごとに処理性能が向上することを確認できた[1] 図1:Node=5 図2:Node=6 図3:Node=7 [1]:message受付ノードに負荷が集中するのを避けるため、Load Barancerを置いて負荷分散を行った上で性能測定を行った
  • 10. Copyright © NTT Communications Corporation. All rights reserved. “HA = all” can NOT scale out allではノード数が増えると大幅に性能低下する ● all設定ではスケールアウトしない ○ ミラーリングに大きくコストがかかっていると思われる 図2:Node=5, HA-mode=all図1:Node=2, HA-mode=all
  • 11. Copyright © NTT Communications Corporation. All rights reserved. ● スケールアウト ○ HA-modeがexactlyの設定においてスケールアウトが可能 ● RabbitMQクラスタのノード増設の挙動 ○ 増設を行った場合、新規キューは増設ノードに配置される可能性があるが、 既存キューはリバランスが行われないため増設ノードに配置されない ■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要 ● リバランスにより容量の多いキューのミラーリングは高負荷が発生する ○ 増設後にクライアントもしくはLBで増設ノードへの接続先更新等の処理が必要 Results of RabbitMQ verification 1/2
  • 12. Copyright © NTT Communications Corporation. All rights reserved. ● RabbitMQクラスタのノード減設の挙動 ○ 耐障害性は高く,検証においてはキューが完全に消失することはなかった ○ 減設時にメッセージロストが通常時より増加する点は注意が必要 ■ クライアント側でのエラーハンドリングが必要 ● RabbitMQクラスタの障害時の挙動 ○ クラスタノード減設時と同様の挙動 ○ 障害に伴うノード減により既存キューのリバランスは発生するが、増設と同様に復旧によ るノード増によるリバランスが発生しない ■ リバランスには手動でのリバランス、もしくは、クラスタの再構築が必要 Results of RabbitMQ verification 2/2
  • 13. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 14. Copyright © NTT Communications Corporation. All rights reserved. OpenStack messaging inspection OpenStackではコンポーネント間や、コンポーネント内のサービス間のやりとりにおいて MQを利用したメッセージングを採用している。 OpenStackのメッセージングは大きく分けると以下の2タイプである ● API起因メッセージング ○ ユーザリクエスト ○ 定期メッセージングからの呼び出し ○ etc… ● 定期メッセージング ○ ステータス確認/更新等 ○ etc... 図1:NovaとCinderにおけるメッセージング
  • 15. Copyright © NTT Communications Corporation. All rights reserved. OpenStackの中で使われているMQのメッセージング種別は以下の3つ 作成されるQueueの目安 ● “サービス名”のQueue ● fanout用の“サービス名_fanout_<<uuid>>”のQueue ● “サービス名.ホスト名”のQueue ● callのリプライ用の”reply_<<uuid>>”のQueue Messaging kinds in OpenStack メッセージング種別 メッセージング対象 リプライの有無 cast 1 : 1 なし call 1 : 1 あり fanout 1 : n なし
  • 16. Copyright © NTT Communications Corporation. All rights reserved. ユーザリクエストや、定期メッセージングからの呼び出しにより通信が発生する Type 1: API call messaging 16 nova-api Queue <conductor> RabbitMQ nova-conductor Queue <scheduler>nova-scheduler Queue <reply_xxx> Queue <compute.”host”>nova-compute ① ② ③ ④ ⑤ ① ”conductor”へのcast ② ”scheduler”へのcall ③ ②へのreply ④ 特定のcomputeノードへのcall ⑤ ④のreply 図1:インスタンス作成の流れ
  • 17. Copyright © NTT Communications Corporation. All rights reserved. Periodic task in OpenStack OpenStackのサービス内では定期的に実行されるタスクが存在する。それらの中には RPCにより他サービスへのメッセージングを行うものも存在する。 主要コンポーネント(Nova, Neutron, Cinder, Glance, Keystone)では以下の通り ● Nova:24(RPCあり23, RPCなし:1) ● Neutron:2(RPCあり:2) ● Cinder:2(RPCあり:1, RPCなし:1) ● Glance:なし ● Keystone:なし
  • 18. Copyright © NTT Communications Corporation. All rights reserved. 内部で定期的にAPIコールやDBアクセス、他サービスへの通信が発生する Type 2: Periodic task messaging 18 nova-compute Queue <conductor> RabbitMQ nova-conductor Queue <reply_xxx> nova-scheduler Queue <scheduler> ① ② ③ ① ”conductor”へのcall   Databaseへのアクセス ② ①へのreply ③ ”scheduler”へのcast 図1:スケジューラへのインスタンス情報同期の流れ Database
  • 19. Copyright © NTT Communications Corporation. All rights reserved. Results of OpenStack messaging inspection 1/2 OpenStackのメッセージングは大きく分けて「API起因」と「定期実行」の2種類が存在す る。 API起因、定期実行ともに共通のキューを利用するためキューの数はノードやサービス の増加がない限り増えない メッセージの流量はAPI call数やインスタンス、ブロックデバイス、ルータなどのリソース や、サービスノードの数に比例して増減する メッセージサイズはインスタンスやブロックデバイス、ルータの数などに比例して増加す る
  • 20. Copyright © NTT Communications Corporation. All rights reserved. Results of OpenStack messaging inspection 2/2 Novaへの最大メッセージ流量見積もり(msg/s) メッセージサイズはインスタンス数やルータの数などに比例して増加する
  • 21. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 22. Copyright © NTT Communications Corporation. All rights reserved. Environment 弊部で公開しているOpenStackのStaging環境においてインスタンスを1~1,000 インス タンスまで作成を行い各キューへのメッセージングの流量やメッセージのサイズの計測 を行った。 ● nova-compute:13 node ● RabbitMQ v3.2.4:3 node (HA:ALL)
  • 23. Copyright © NTT Communications Corporation. All rights reserved. Number of Messages & Message size 1時間におけるメッセージ数、メッセージサイズ累計はインスタンスの増加に比例して増 加することが分かる。特にconductorに対する増加は顕著である。
  • 24. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 25. Copyright © NTT Communications Corporation. All rights reserved. Conclusion ● RabbitMQのクラスタ機能と、HA機能を組み合わせることで、 可用性を持ちつつスケールアウト可能なMQクラスタを構築できる ○ キューのRead/Writeをクラスタ内で分散させる負荷分散のため、特定のキューに対する性能上限 を迎えた場合はスケールアップでの対応が必要 ● OpenStackのメッセージングはAPI callと定期タスクにより発生し、その流度やメッ セージサイズはサービス数やインスタンス数に比例して増減する ○ 特にnova-computeがDBアクセスのために、nova-conductorに投げるMessageが増加する。 ● RabbitMQのHA: exactlyでの運用に関する情報が少ないため、 今後は大規模化・長期安定化試験などによリ問題がないかの確認が必要
  • 26. Copyright © NTT Communications Corporation. All rights reserved. Agenda ● Background ● Goal / Action ● RabbitMQ verification ● OpenStack messaging inspection ● Instance increasement load testing ● Conclusion ● Reference
  • 27. Copyright © NTT Communications Corporation. All rights reserved. Reference : OpenStack Summit Barcelona ● RabbitMQ at Scale, Lessons Learned ○ Ciscoが1つのRabbitMQクラスタで800+ compute nodeを運用しているという話 ○ HAはALLでRabbitMQは3台構成 ○ KernelとErlang VMとRabbitMQをチューニングすれば 800+ nodeも対応可能とのこと ● Chasing 1000 Nodes Scale ○ デフォルトの設定では CPUロードがさばけなくコアを増やして対応した ○ CPUとRAMを十分に設定した場合 MySQLやRabbitMQはボトルネックではない ○ nova-schedulerのパフォーマンスとスケーラビリティが問題
  • 28. Copyright © NTT Communications Corporation. All rights reserved. [1]:https://bugs.launchpad.net/neutron/+bug/1528895 [2] : https://bugs.launchpad.net/neutron/+bug/1430999 Reference : Error while processing VIF ports 事象:OVS Neutron agentのエラーが多発 Module:neutron.plugins.openvswitch.agent.ovs_neutron_agent Message:Error while processing VIF ports 原因:Neutronのupdate_device_up処理がRPCリクエストの   時間内に完了せずタイムアウトを迎えるため[1][2] 対処:RPCタイムアウトの時間を伸ばす   (修正パッチは現在対応が停止中)
  • 29. Copyright © NTT Communications Corporation. All rights reserved. Reference : Remote error: DBConnectionError 事象:DBコネクションエラー Error during ComputeManager.update_available_resource: Remote error: DBConnectionError (OperationalError) (2003, "Can't connect to MySQL server on 'x.x.x.x' (113)") None None 原因:インスタンスが増加に伴いDBへのコネクションが枯渇 対処:DBへのコネクション数を増やす