Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Pub/Sub Pull Subscriberの構成検討
Search
atsu.kg
October 19, 2023
Technology
0
230
Cloud Pub/Sub Pull Subscriberの構成検討
atsu.kg
October 19, 2023
Tweet
Share
More Decks by atsu.kg
See All by atsu.kg
OpenTelemetry PHPで始める!オブザーバビリティ入門
atsushikoga
0
590
GCPを使った transaction log tailing と polling publisher の性能比較
atsushikoga
0
170
巨大なモノリスの静的解析をレベルMaxにする方法
atsushikoga
0
3.3k
Lenet の開発環境の紹介
atsushikoga
0
900
Other Decks in Technology
See All in Technology
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
530
なぜCodeceptJSを選んだか
goataka
0
160
生成AIのガバナンスの全体像と現実解
fnifni
1
180
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
120
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Become a Pro
speakerdeck
PRO
26
5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Statistics for Hackers
jakevdp
796
220k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Building an army of robots
kneath
302
44k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Documentation Writing (for coders)
carmenintech
66
4.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
Cloud Pub/Sub Pull Subscriberの構成検討 株式会社ホワイトプラス 古賀 敦士
フルマネージドのリアルタイムメッセージングサービス メッセージを生成するサービスと、処理するサービスを非同期的に切り離す 2 Cloud Pub/Sub とは
3 Push型/Pull型
4 Push Subscription Pub/SubサーバーがSubscriberにメッセージをHTTPSリクエストとして送信 処理完了したら成功のステータスコードを返すことで確認応答 秒間メッセージ数が多い場合はPull Subscriptionを推奨 ← バッチによる急増を懸念
5 Pull Subscription SubscriberはPub/Subサーバーに対してメッセージをリクエストする 処理完了したら確認応答リクエストを送信する バッチ型と常駐型の2つの実装方法が考えられる
6 サブスクライバをバッチにし定期的に処理する ・メリット 常駐型よりもリソース効率が良い ・デメリット メッセージパブリッシュから処理完了までが 常駐方式よりも長い ← 懸念 バッチ型
7 サブスクライバを常に稼働させてポーリングする ・メリット メッセージパブリッシュから処理完了までが短い ・デメリット 未処理のメッセージがない状態ではリソース効率が悪い 常駐型
8 Google Cloud 製品の検討
9 常駐型またはバッチ型が実装可能か オートスケールされるか の観点で調査
10 Cloud Run(Service) 常駐方式:◯ or △ - always on CPU
を使って可能 - リクエストを受信しないためオートスケールされない可能性あり? バッチ方式:◯ - 外部からの定期的なリクエストをトリガーにPullすることで可能 - オートスケール可能
常駐方式:△ - タスクのタイムアウト・試行回数制限があり、それを超えると失敗扱いになる - スケジュール実行するが実行時間が実行間隔を埋めることで、常駐方式と同様になる - ex. 実行時間1h・タイムアウト1h10minのタスクを1h間隔で実行する - 事前に並列処理数を設定できるが、処理状況に応じたオートスケールは無し
バッチ方式:△ - スケジュール実行することで可能 - 事前に並列処理数を設定できるが、処理状況に応じたオートスケールは無し 11 Cloud Run(Job)
常駐方式:◦ - タスクのタイムアウト・試行回数制限があり、それを超えると失敗扱いになる - スケジュール実行するが実行時間が実行間隔を埋めることで、常駐方式と同様になる - オートスケール可能 バッチ方式:◯ - スケジュール実行することで可能
- オートスケール可能 12 Cloud Batch
常駐方式:△ - フレキシブル環境ならば常時実行可能かも - リクエストが無ければオートスケールされないかも バッチ方式:◯ - スケジュール実行することで可能 - リクエストが無ければオートスケールされないかも
13 App Engine
常駐方式:◯ or △ - 可能そう - オートスケール可能 バッチ方式:◯ or △
- 可能かも - オートスケール可能 14 Compute Engine(MIG)
15 Discussion Time - Push Subscription での実装可能性 - Pull Subscriber
の常駐型とバッチ型の良し悪し - 常駐型に向いてそうな Google Cloud 製品 - 記載の内容とは別にこういう考え方がある などなど、ご意見・ご感想をいただけると幸いです。