狠狠撸

狠狠撸Share a Scribd company logo
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
祖父江 翔
実運用して分かったRabbitMQの
良いところ?気をつけること
2017年9月27日
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
自己紹介
祖父江 翔(そぶえ しょう)
マーケティングソリューションズカンパニー開発本部
新卒入社7年目
配属されてからずっと広告関連の開発
入稿→アカウント→開発基盤
2
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
本日の内容
? Rabbit MQとは
? 広告システム内でのRabbit MQ
? 導入前の課題
? 動機
? 良いところ
? 気をつけること
? 構成
? プロビジョニング
? 保守?運用
? まとめ
3
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
RabbitMQとは
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
RabbitMQ
RabbitMQ is the most widely deployed open source message broker.
With more than 35,000 production deployments of RabbitMQ world-wide at small
startups and large enterprises, RabbitMQ is the most popular open source message
broker.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It
supports multiple messaging protocols. RabbitMQ can be deployed in distributed
and federated configurations to meet high-scale, high-availability requirements.
5
RabbitMQ - Messaging that just works, https://www.rabbitmq.com/
トップページより引用
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
要はRabbitMQとは
? オープンソースのメッセージブローカー
? 軽量でデプロイをオンプレミスでも
クラウドでも利用可能
? 複数のメッセージプロトコル対応
? スタンドアローンでもクラスタでも構築可能
6
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
多言語サポート
? 公式で用意されているのは
Erlang, Java, C#のみ
? Ruby, Python, PHPなど提供
7
Clients & Developer Tools, https://www.rabbitmq.com/devtools.html
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
PluginやAPI
? Pluginが豊富
? 基本機能以外の付け足しが可能
? プロトコルや認証機能の追加が可能
? 管理画面の導入で運用負荷の軽減も可能
? APIが用意されている
? リソースやトラフィックの監視が可能
8
Plugins, https://www.rabbitmq.com/plugins.html
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Management Plugin
9
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
広告システム内での
Rabbit MQ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
広告システム
11
FE
BEサーバ群
広告配信システム
広告主が出稿
配信面
非同期化部分
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
RabbitMQ導入前の課題
? ブローカーのないキュー管理の仕組みを利用
? 接続の管理が面倒
? 接続設定の修正が職人芸(気軽にできない)
? ProducerとConsumerを気軽に追加できない
12
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
導入前(設定つらい…)
13
BE APIサーバ 配信システム連携バッチ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
キュー管理の仕組みに求めたこと
? PHPとJavaで同時に運用できること
? 耐障害性があること
? ConsumerやProducerを容易に追加できること
? スループットが高いこと
? 広告入稿のリクエストに耐えられること
? 処理単位でルーティングができること
14
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
RabbitMQを採用
? AMQPで動作する
? クライアントライブラリがある
? JavaでもPHPでも動作するため、並行期間を設けられる
? クラスタを容易に構築できる
? ブローカーのスケールアウトができる
? ProducerとConsumerが容易に追加できる
? トピックとキーでルーティングが可能
15
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
広告システム
16
FE
BEサーバ群
広告配信システム
広告主が出稿
配信面
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
BEサーバ群の構成
17
BE APIサーバ RabbitMQクラスタ
(3台構成)
配信システム連携バッチ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
良いところ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
言語が混在しても問題なく動作
? JavaからPHPへメッセージの受け渡し
? 並行運用しても問題なく動作
19
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
耐障害性、クライアント設定
? クラスタのノードが1台ダウンしても
サービス継続
? クライアントはRabbitMQクラスタを
接続先にすればいい
20
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
高いスループット
? VM3台で1クラスタの構成
? vCPU: 8
? Mem: 16G
? Disc: 120G
? 1000万msg/dayをConsumerが処理
21
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
気をつけること
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
構成
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
LBを使った構成の罠
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
複数ノード構成なのでLBを配備してみた
? HTTPサーバみたいに
LB経由でバランシングする構成に
25
BE APIサーバ RabbitMQクラスタ
LB
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
メッセージが見つからない
? システム内で整合性が取れない
? ただ、何が消えたのかわからない
? リカバリ頑張る、運用でカバー
26
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
LBを入れてリッチな構成にしたことが仇
? LBがセッション維持しない設定(変更不可)
? LBがセッションを定期的に破棄していることが発覚
? JavaのRabbitMQクライアントで
LBを使わなくてもクラスタを考慮した接続や
障害時の接続のリカバリが実装されていた
27
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
LBいらない
? ノードを全部列挙する
28
BE APIサーバ RabbitMQクラスタ
Host1,Host2,Host3
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
プロビジョニング
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
クラスタ止まった
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
クラスタが応答しなくなった
大量のメッセージがあると応答しない
PublishもConsumeもできない状態
処理が遅延してシステムが止まるような事態に…
31
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
原因その1: ディスクI/O
メモリ上で扱わず
すべてディスクに書き込む設定 (デフォルト)
設定変更してメモリで扱うように
32
信頼性よりパフォーマンスを重視した設定
※マスタ1台のみディスク、スレーブ2台をメモリ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ただし、通常はディスク推奨
→通常はディスクのみ、メモリは特殊ケース
33
Clustering Guide: https://www.rabbitmq.com/clustering.html
A node can be a disk node or a RAM node. (Note: disk and disc are used
interchangeably).
In most cases you want all your nodes to be disk nodes; RAM nodes are a
special case that can be used to improve the performance clusters with
high queue, exchange, or binding churn.
When in doubt, use disk nodes only.
Clustering Guideより引用
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
原因その2:トラッフィク統計の設定
? Message ratesの設定(rates_mode)
? 管理プラグインを入れるとデフォルトBasicモード
? メッセージの転送レートを表示するための設定
? メッセージの流量を観測するには有用な設定
34
Management Plugin: https://www.rabbitmq.com/management.html
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Message ratesの設定あり
35
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Message ratesの設定なし
36
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
高スループット環境では無効にするべき
? このオプションを無効にした途端に
スループットが向上
? メトリック監視とパフォーマンスはトレードオフ
? 公式でも
37
Alternatively, the message rates can be disabled altogether.
This can help get the best possible performance out of a CPU-bound server.
Management Plugin: https://www.rabbitmq.com/management.html
Management Pluginより引用
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
保守?運用
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
無停止で
バージョンアップする
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
サービス停止するわけにいかない
? 24時間絶え間なく広告入稿のリクエスト
? ミドルウェアのバージョンアップで
サービス停止できない
40
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
切り替え Step1
41
広告配信システム
FE
Consumer
旧RabbitMQクラスタ
BE
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
切り替え Step2
42
広告配信システム
FE
Consumer
旧RabbitMQクラスタ
BE
新RabbitMQクラスタ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
切り替え Step3
43
広告配信システム
FE
Consumer
旧RabbitMQクラスタ
BE
新RabbitMQクラスタ
メッセージを
捌き切る
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
切り替え Step4
44
広告配信システム
FE
旧RabbitMQクラスタ
BE
新RabbitMQクラスタ
Consumer
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ネットワーク
パーティション
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ネットワーク障害!
? ある日、ネットワーク障害発生
? 管理画面開くと…
46
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
再起動するしかない
47
? 公式のドキュメントによると…
Clustering and Network Partitions: https://www.rabbitmq.com/partitions.html
It may be simpler to stop the whole cluster and start it again; if
so make sure that the first node you start is from the trusted
partition.
Clustering and Network Partitionsより引用
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
まとめ
Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
まとめ
? 良いところ
? 高スループット
? 耐障害性があり、クライアント設定はシンプル
? 多言語対応していて、混在でも並行運用可
? 気をつけること
? 特に高スループットが要求される場合は
プロビジョニングに注意
? 公式ドキュメントは読み込むべし
49

More Related Content

What's hot (20)

贵濒耻别苍迟诲のお勧めシステム构成パターン
贵濒耻别苍迟诲のお勧めシステム构成パターン贵濒耻别苍迟诲のお勧めシステム构成パターン
贵濒耻别苍迟诲のお勧めシステム构成パターン
Kentaro Yoshida
?
分散システムについて语らせてくれ
分散システムについて语らせてくれ分散システムについて语らせてくれ
分散システムについて语らせてくれ
Kumazaki Hiroki
?
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
NTT DATA Technology & Innovation
?
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
?
ストリーム処理を支えるキューイングシステムの选び方
ストリーム処理を支えるキューイングシステムの选び方ストリーム処理を支えるキューイングシステムの选び方
ストリーム処理を支えるキューイングシステムの选び方
Yoshiyasu SAEKI
?
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
?
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
Kentaro Yoshida
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
Recruit Lifestyle Co., Ltd.
?
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Akihiro Suda
?
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
?
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
惭蚕罢罢と础惭蚕笔と.狈贰罢
惭蚕罢罢と础惭蚕笔と.狈贰罢惭蚕罢罢と础惭蚕笔と.狈贰罢
惭蚕罢罢と础惭蚕笔と.狈贰罢
terurou
?
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
オススメの标準?準标準ハ?ッケーシ?20选
オススメの标準?準标準ハ?ッケーシ?20选オススメの标準?準标準ハ?ッケーシ?20选
オススメの标準?準标準ハ?ッケーシ?20选
Takuya Ueda
?
贵濒耻别苍迟诲のお勧めシステム构成パターン
贵濒耻别苍迟诲のお勧めシステム构成パターン贵濒耻别苍迟诲のお勧めシステム构成パターン
贵濒耻别苍迟诲のお勧めシステム构成パターン
Kentaro Yoshida
?
分散システムについて语らせてくれ
分散システムについて语らせてくれ分散システムについて语らせてくれ
分散システムについて语らせてくれ
Kumazaki Hiroki
?
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
NTT DATA Technology & Innovation
?
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
?
ストリーム処理を支えるキューイングシステムの选び方
ストリーム処理を支えるキューイングシステムの选び方ストリーム処理を支えるキューイングシステムの选び方
ストリーム処理を支えるキューイングシステムの选び方
Yoshiyasu SAEKI
?
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
?
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
爆速クエリエンシ?ン”笔谤别蝉迟辞”を使いたくなる话
Kentaro Yoshida
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
分散トレーシング础奥厂:齿-搁补测との上手い付き合い方
Recruit Lifestyle Co., Ltd.
?
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Akihiro Suda
?
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
?
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
?
コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线コンテナネットワーキング(颁狈滨)最前线
コンテナネットワーキング(颁狈滨)最前线
Motonori Shindo
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
惭蚕罢罢と础惭蚕笔と.狈贰罢
惭蚕罢罢と础惭蚕笔と.狈贰罢惭蚕罢罢と础惭蚕笔と.狈贰罢
惭蚕罢罢と础惭蚕笔と.狈贰罢
terurou
?
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
オススメの标準?準标準ハ?ッケーシ?20选
オススメの标準?準标準ハ?ッケーシ?20选オススメの标準?準标準ハ?ッケーシ?20选
オススメの标準?準标準ハ?ッケーシ?20选
Takuya Ueda
?

Similar to 実運用して分かったRabbit MQの良いところ?気をつけること #jjug (20)

Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
驰补丑辞辞!デベロッパーネットワーク
?
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
驰补丑辞辞!デベロッパーネットワーク
?
LLVM overview 20110122
LLVM overview 20110122LLVM overview 20110122
LLVM overview 20110122
nothingcosmos
?
组み込み入门
组み込み入门组み込み入门
组み込み入门
Yuki Suga
?
组み込み入门
组み込み入门组み込み入门
组み込み入门
Yuki Suga
?
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
?
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Yuji Kubota
?
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
?
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
Shota Umeda
?
エンジニアという职业について
エンジニアという职业についてエンジニアという职业について
エンジニアという职业について
Hisatoshi Kikumoto
?
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
?
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
Taiji Tsuchiya
?
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
Tamakoshi Hironori
?
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
AdvancedTechNight
?
泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
泥臭い运用から、プログラマブルインフラ构筑(に行きたい) 泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
Akihiro Kuwano
?
搁颈补办を利用したパーソナライズ事例
搁颈补办を利用したパーソナライズ事例搁颈补办を利用したパーソナライズ事例
搁颈补办を利用したパーソナライズ事例
驰补丑辞辞!デベロッパーネットワーク
?
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
Kodai Terashima
?
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
Juniper Networks (日本)
?
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
驰补丑辞辞!デベロッパーネットワーク
?
组み込み入门
组み込み入门组み込み入门
组み込み入门
Yuki Suga
?
组み込み入门
组み込み入门组み込み入门
组み込み入门
Yuki Suga
?
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
?
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
Yuji Kubota
?
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
?
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
Shota Umeda
?
エンジニアという职业について
エンジニアという职业についてエンジニアという职业について
エンジニアという职业について
Hisatoshi Kikumoto
?
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
?
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
闯厂狈础笔测と笔测贰窜で作る次世代ネットワークオペレーションの可能性
Taiji Tsuchiya
?
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
多言语を一つの処理系でハイパフォーマンスに実行する骋谤补补濒笔测迟丑辞苍の绍介
Tamakoshi Hironori
?
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
全部入り!奥骋笔で高速闯补惫补厂肠谤颈辫迟+贬惭尝5体験
AdvancedTechNight
?
泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
泥臭い运用から、プログラマブルインフラ构筑(に行きたい) 泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
泥臭い运用から、プログラマブルインフラ构筑(に行きたい)
Akihiro Kuwano
?
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
?オープンソースでシステム监视!统合监视ソフトウェア窜础叠叠滨齿の机能と利用事例のご绍介
Kodai Terashima
?
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
【Interop Tokyo 2015】最新セキュリティサーベイからみるトレンドと解決策
Juniper Networks (日本)
?

More from 驰补丑辞辞!デベロッパーネットワーク (20)

ゼロから始める転移学习
ゼロから始める転移学习ゼロから始める転移学习
ゼロから始める転移学习
驰补丑辞辞!デベロッパーネットワーク
?
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
驰补丑辞辞!デベロッパーネットワーク
?
ヤフーでは开発迅速性と品质のバランスをどう取ってるか
ヤフーでは开発迅速性と品质のバランスをどう取ってるかヤフーでは开発迅速性と品质のバランスをどう取ってるか
ヤフーでは开発迅速性と品质のバランスをどう取ってるか
驰补丑辞辞!デベロッパーネットワーク
?
オンプレML基盤on Kubernetes?パネルディスカッション
オンプレML基盤on Kubernetes?パネルディスカッションオンプレML基盤on Kubernetes?パネルディスカッション
オンプレML基盤on Kubernetes?パネルディスカッション
驰补丑辞辞!デベロッパーネットワーク
?
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
驰补丑辞辞!デベロッパーネットワーク
?
オンプレML基盤on Kubernetes ?Yahoo! JAPAN AIPF?
オンプレML基盤on Kubernetes ?Yahoo! JAPAN AIPF?オンプレML基盤on Kubernetes ?Yahoo! JAPAN AIPF?
オンプレML基盤on Kubernetes ?Yahoo! JAPAN AIPF?
驰补丑辞辞!デベロッパーネットワーク
?
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
驰补丑辞辞!デベロッパーネットワーク
?
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
驰补丑辞辞!デベロッパーネットワーク
?
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
驰补丑辞辞!デベロッパーネットワーク
?
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
驰补丑辞辞!デベロッパーネットワーク
?

Recently uploaded (8)

Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
滨肠丑颈颈搁颈办颈蝉耻办别冲理学疗法士间の知识共有に向けた临床推论テキストの构造化に関する研究.辫诲蹿
Matsushita Laboratory
?

実運用して分かったRabbit MQの良いところ?気をつけること #jjug

  • 1. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 祖父江 翔 実運用して分かったRabbitMQの 良いところ?気をつけること 2017年9月27日
  • 2. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 自己紹介 祖父江 翔(そぶえ しょう) マーケティングソリューションズカンパニー開発本部 新卒入社7年目 配属されてからずっと広告関連の開発 入稿→アカウント→開発基盤 2
  • 3. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 本日の内容 ? Rabbit MQとは ? 広告システム内でのRabbit MQ ? 導入前の課題 ? 動機 ? 良いところ ? 気をつけること ? 構成 ? プロビジョニング ? 保守?運用 ? まとめ 3
  • 4. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . RabbitMQとは
  • 5. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . RabbitMQ RabbitMQ is the most widely deployed open source message broker. With more than 35,000 production deployments of RabbitMQ world-wide at small startups and large enterprises, RabbitMQ is the most popular open source message broker. RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements. 5 RabbitMQ - Messaging that just works, https://www.rabbitmq.com/ トップページより引用
  • 6. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 要はRabbitMQとは ? オープンソースのメッセージブローカー ? 軽量でデプロイをオンプレミスでも クラウドでも利用可能 ? 複数のメッセージプロトコル対応 ? スタンドアローンでもクラスタでも構築可能 6
  • 7. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 多言語サポート ? 公式で用意されているのは Erlang, Java, C#のみ ? Ruby, Python, PHPなど提供 7 Clients & Developer Tools, https://www.rabbitmq.com/devtools.html
  • 8. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . PluginやAPI ? Pluginが豊富 ? 基本機能以外の付け足しが可能 ? プロトコルや認証機能の追加が可能 ? 管理画面の導入で運用負荷の軽減も可能 ? APIが用意されている ? リソースやトラフィックの監視が可能 8 Plugins, https://www.rabbitmq.com/plugins.html
  • 9. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . Management Plugin 9
  • 10. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 広告システム内での Rabbit MQ
  • 11. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 広告システム 11 FE BEサーバ群 広告配信システム 広告主が出稿 配信面 非同期化部分
  • 12. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . RabbitMQ導入前の課題 ? ブローカーのないキュー管理の仕組みを利用 ? 接続の管理が面倒 ? 接続設定の修正が職人芸(気軽にできない) ? ProducerとConsumerを気軽に追加できない 12
  • 13. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 導入前(設定つらい…) 13 BE APIサーバ 配信システム連携バッチ
  • 14. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . キュー管理の仕組みに求めたこと ? PHPとJavaで同時に運用できること ? 耐障害性があること ? ConsumerやProducerを容易に追加できること ? スループットが高いこと ? 広告入稿のリクエストに耐えられること ? 処理単位でルーティングができること 14
  • 15. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . RabbitMQを採用 ? AMQPで動作する ? クライアントライブラリがある ? JavaでもPHPでも動作するため、並行期間を設けられる ? クラスタを容易に構築できる ? ブローカーのスケールアウトができる ? ProducerとConsumerが容易に追加できる ? トピックとキーでルーティングが可能 15
  • 16. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 広告システム 16 FE BEサーバ群 広告配信システム 広告主が出稿 配信面
  • 17. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . BEサーバ群の構成 17 BE APIサーバ RabbitMQクラスタ (3台構成) 配信システム連携バッチ
  • 18. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 良いところ
  • 19. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 言語が混在しても問題なく動作 ? JavaからPHPへメッセージの受け渡し ? 並行運用しても問題なく動作 19
  • 20. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 耐障害性、クライアント設定 ? クラスタのノードが1台ダウンしても サービス継続 ? クライアントはRabbitMQクラスタを 接続先にすればいい 20
  • 21. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 高いスループット ? VM3台で1クラスタの構成 ? vCPU: 8 ? Mem: 16G ? Disc: 120G ? 1000万msg/dayをConsumerが処理 21
  • 22. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 気をつけること
  • 23. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 構成
  • 24. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . LBを使った構成の罠
  • 25. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 複数ノード構成なのでLBを配備してみた ? HTTPサーバみたいに LB経由でバランシングする構成に 25 BE APIサーバ RabbitMQクラスタ LB
  • 26. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . メッセージが見つからない ? システム内で整合性が取れない ? ただ、何が消えたのかわからない ? リカバリ頑張る、運用でカバー 26
  • 27. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . LBを入れてリッチな構成にしたことが仇 ? LBがセッション維持しない設定(変更不可) ? LBがセッションを定期的に破棄していることが発覚 ? JavaのRabbitMQクライアントで LBを使わなくてもクラスタを考慮した接続や 障害時の接続のリカバリが実装されていた 27
  • 28. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . LBいらない ? ノードを全部列挙する 28 BE APIサーバ RabbitMQクラスタ Host1,Host2,Host3
  • 29. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . プロビジョニング
  • 30. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . クラスタ止まった
  • 31. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . クラスタが応答しなくなった 大量のメッセージがあると応答しない PublishもConsumeもできない状態 処理が遅延してシステムが止まるような事態に… 31
  • 32. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 原因その1: ディスクI/O メモリ上で扱わず すべてディスクに書き込む設定 (デフォルト) 設定変更してメモリで扱うように 32 信頼性よりパフォーマンスを重視した設定 ※マスタ1台のみディスク、スレーブ2台をメモリ
  • 33. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . ただし、通常はディスク推奨 →通常はディスクのみ、メモリは特殊ケース 33 Clustering Guide: https://www.rabbitmq.com/clustering.html A node can be a disk node or a RAM node. (Note: disk and disc are used interchangeably). In most cases you want all your nodes to be disk nodes; RAM nodes are a special case that can be used to improve the performance clusters with high queue, exchange, or binding churn. When in doubt, use disk nodes only. Clustering Guideより引用
  • 34. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 原因その2:トラッフィク統計の設定 ? Message ratesの設定(rates_mode) ? 管理プラグインを入れるとデフォルトBasicモード ? メッセージの転送レートを表示するための設定 ? メッセージの流量を観測するには有用な設定 34 Management Plugin: https://www.rabbitmq.com/management.html
  • 35. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . Message ratesの設定あり 35
  • 36. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . Message ratesの設定なし 36
  • 37. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 高スループット環境では無効にするべき ? このオプションを無効にした途端に スループットが向上 ? メトリック監視とパフォーマンスはトレードオフ ? 公式でも 37 Alternatively, the message rates can be disabled altogether. This can help get the best possible performance out of a CPU-bound server. Management Plugin: https://www.rabbitmq.com/management.html Management Pluginより引用
  • 38. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 保守?運用
  • 39. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 無停止で バージョンアップする
  • 40. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . サービス停止するわけにいかない ? 24時間絶え間なく広告入稿のリクエスト ? ミドルウェアのバージョンアップで サービス停止できない 40
  • 41. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 切り替え Step1 41 広告配信システム FE Consumer 旧RabbitMQクラスタ BE
  • 42. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 切り替え Step2 42 広告配信システム FE Consumer 旧RabbitMQクラスタ BE 新RabbitMQクラスタ
  • 43. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 切り替え Step3 43 広告配信システム FE Consumer 旧RabbitMQクラスタ BE 新RabbitMQクラスタ メッセージを 捌き切る
  • 44. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 切り替え Step4 44 広告配信システム FE 旧RabbitMQクラスタ BE 新RabbitMQクラスタ Consumer
  • 45. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . ネットワーク パーティション
  • 46. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . ネットワーク障害! ? ある日、ネットワーク障害発生 ? 管理画面開くと… 46
  • 47. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 再起動するしかない 47 ? 公式のドキュメントによると… Clustering and Network Partitions: https://www.rabbitmq.com/partitions.html It may be simpler to stop the whole cluster and start it again; if so make sure that the first node you start is from the trusted partition. Clustering and Network Partitionsより引用
  • 48. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . まとめ
  • 49. Co p yrig ht ? 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . まとめ ? 良いところ ? 高スループット ? 耐障害性があり、クライアント設定はシンプル ? 多言語対応していて、混在でも並行運用可 ? 気をつけること ? 特に高スループットが要求される場合は プロビジョニングに注意 ? 公式ドキュメントは読み込むべし 49