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
160
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
440
GCPを使った transaction log tailing と polling publisher の性能比較
atsushikoga
0
150
巨大なモノリスの静的解析をレベルMaxにする方法
atsushikoga
0
3.2k
Lenet の開発環境の紹介
atsushikoga
0
850
Other Decks in Technology
See All in Technology
AI でアップデートする既存テクノロジーと、クラウドエンジニアの生きる道
soracom
PRO
2
380
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.1k
RAGHack: Building RAG apps in Python
pamelafox
0
160
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
290
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
120
Segment Anything Model 2
tenten0727
3
520
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
900
デジタル化・DX推進あるある
y150saya
0
240
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
190
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
2
830
ナレッジグラフとLLMの相互利用
koujikozaki
0
260
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
300
Featured
See All Featured
Unsuck your backbone
ammeep
667
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.1k
Web development in the modern age
philhawksworth
204
10k
What the flash - Photography Introduction
edds
67
11k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
Six Lessons from altMBA
skipperchong
26
3.3k
Design by the Numbers
sachag
277
19k
Automating Front-end Workflow
addyosmani
1365
200k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
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 製品 - 記載の内容とは別にこういう考え方がある などなど、ご意見・ご感想をいただけると幸いです。