ホワイトボックススイッチと RabbitMQ を 組み合わせた MQ の利用事例

ホワイトボックススイッチと RabbitMQ を
組み合わせた MQ の利用事例
JANOG38 Meeting in Okinawa
さくらインターネット株式会社
伊東 宏起
(C) Copyright 1996-2016 SAKURA Internet Inc.
自己紹介
伊東 宏起
所属
•
さくらインターネット株式会社
技術本部 ミドルウェアグループ
チームプロデューサー
•
(C) Copyright 1996-2016 SAKURA Internet Inc.
その他
•
JANOG38 Meeting Okinawa PC
•
JANOG37 Meeting Nagoya PC
•
最近新卒の皮が剥がれました
2
さくらインターネットでの MQ の利用事例
•
•
•
(C) Copyright 1996-2016 SAKURA Internet Inc.
の一部機能
ベアメタルプランの一部機能
3
さくらインターネットでの MQ の利用事例
•
•
•
(C) Copyright 1996-2016 SAKURA Internet Inc.
の一部機能
ベアメタルプランの一部機能
4
Agenda
• さくらのVPS ベアメタルプランとは
• MQ を導入するに至ったまでの動機
• MQ 実装の選定の基準とポイント
• RabbitMQ の使用事例の紹介
• MQ を導入して感じたこと
(C) Copyright 1996-2016 SAKURA Internet Inc.
5
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
(C) Copyright 1996-2016 SAKURA Internet Inc.
6
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
VPS
ベアメタル
ホストサーバー上に仮想化基盤を構築
仮想化基盤上でVMを作成して提供
ホストサーバをそのまま提供
仮想化基盤は無し
(C) Copyright 1996-2016 SAKURA Internet Inc.
7
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
サーバ収容用 L2 スイッチ
ベアメタルサーバ
(C) Copyright 1996-2016 SAKURA Internet Inc.
8
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
ホワイトボックススイッチ
サーバ収容用 L2 スイッチ
ベアメタルサーバ
(C) Copyright 1996-2016 SAKURA Internet Inc.
9
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
Software
弊社にて開発
OS
ホワイトボックススイッチ
(C) Copyright 1996-2016 SAKURA Internet Inc.
10
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
Python + Flask 製
REST API サーバ
OS
ホワイトボックススイッチ
(C) Copyright 1996-2016 SAKURA Internet Inc.
11
さくらのVPS ベアメタルプランでの MQ の利用例
さくらのVPS ベアメタルプランとは
OS
OS
OS
HTTP Request
(C) Copyright 1996-2016 SAKURA Internet Inc.
12
さくらのVPS ベアメタルプランでの MQ の利用例
MQ を導入するに至ったまでの動機
(C) Copyright 1996-2016 SAKURA Internet Inc.
13
さくらのVPS ベアメタルプランでの MQ の利用例
MQ を導入するに至ったまでの動機
•
懸念点が発生
-
ホワイトボックススイッチへの HTTP Request は取りこぼししたくない
-
ホワイトボックススイッチの限られた H/W リソースで
しっかりと HTTP Request の管理できるかが不安
何か対策案を考えないと…
(C) Copyright 1996-2016 SAKURA Internet Inc.
14
さくらのVPS ベアメタルプランでの MQ の利用例
MQ を導入するに至ったまでの動機
•
懸念点が発生
-
ホワイトボックススイッチへの HTTP Request は取りこぼししたくない
-
ホワイトボックススイッチの限られた H/W リソースで
しっかりと HTTP Request の管理できるかが不安
そうだ! MessageQueue があるじゃないか!!
(C) Copyright 1996-2016 SAKURA Internet Inc.
15
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
(C) Copyright 1996-2016 SAKURA Internet Inc.
16
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
•
メッセージの量はそれほど多くない想定で、
スループットは遅くてもそれほど問題はない
(C) Copyright 1996-2016 SAKURA Internet Inc.
17
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
•
メッセージの量はそれほど多くない想定で、
スループットは遅くてもそれほど問題はない
•
但し、メッセージの順序・取りこぼし防止・再送処理などは
しっかり担保されていてほしい
(C) Copyright 1996-2016 SAKURA Internet Inc.
18
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
•
AMQP(Advanced Message Queuing Protocol) の思想が
今回の要件にはマッチしていそう
(C) Copyright 1996-2016 SAKURA Internet Inc.
19
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
•
AMQP(Advanced Message Queuing Protocol) の思想が
今回の要件にはマッチしていそう
•
AMQP を利用した RabbitMQ という実装があるらしい
-
OpenStack や Sensu といった有名プロダクトでも
採用されている実績もあり安心できる
(C) Copyright 1996-2016 SAKURA Internet Inc.
20
さくらのVPS ベアメタルプランでの MQ の利用例
MQ 実装の選定の基準とポイント
•
•
AMQP(Advanced Message Queuing Protocol) の思想が
今回の要件にはマッチしていそう
これだ!!
AMQP を利用した RabbitMQ という実装があるらしい
-
OpenStack や Sensu といった有名プロダクトでも
採用されている実績もあり安心できる
(C) Copyright 1996-2016 SAKURA Internet Inc.
21
さくらのVPS ベアメタルプランでの MQ の利用例
RabbitMQ の使用事例の紹介
(C) Copyright 1996-2016 SAKURA Internet Inc.
22
さくらのVPS ベアメタルプランでの MQ の利用例
RabbitMQ の使用事例の紹介
OS
OS
OS
Message
HTTP Request
(C) Copyright 1996-2016 SAKURA Internet Inc.
23
さくらのVPS ベアメタルプランでの MQ の利用例
RabbitMQ の使用事例の紹介
•
この仕組で行っていること
-
ポートの情報の取得
-
ポートの設定変更
-
LLDP による隣接機器情報の取得
(C) Copyright 1996-2016 SAKURA Internet Inc.
24
まとめ
RabbitMQ を導入して感じたこと
(C) Copyright 1996-2016 SAKURA Internet Inc.
25
まとめ
RabbitMQ を導入して感じたこと
•
想定通りの利点
•
ホワイトボックススイッチへの Request の
転送に関する信頼性が担保された
•
利用して気づいた利点
•
ポートの設定変更の処理が遅い場合、非同期に通信を行うことで
システム全体の処理時間を短くすることができた
(C) Copyright 1996-2016 SAKURA Internet Inc.
26
まとめ
RabbitMQ を導入して感じたこと
•
想定通りの利点
•
ホワイトボックススイッチへの Request の
転送に関する信頼性が担保された
•
利用して気づいた利点
•
ポートの設定変更の処理が遅い場合、非同期に通信を行うことで
システム全体の処理時間を短くすることができた
•
注意点
•
MQ の実装により思想が異なるので、MQ の選択は慎重に行う
必要があります
(C) Copyright 1996-2016 SAKURA Internet Inc.
27