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
SQS の使い方を わかっていなかった / I didn't know how to use ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kizashi Nagata
September 21, 2023
Technology
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SQS の使い方を わかっていなかった / I didn't know how to use SQS correctly
Kizashi Nagata
September 21, 2023
More Decks by Kizashi Nagata
See All by Kizashi Nagata
ビルドが遅い
kizashi1122
0
600
aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault
kizashi1122
0
1.1k
inotify の話 / About inotify
kizashi1122
0
770
B2Bクラウドサービスをゼロから立ち上げて、利用社数が1000社を超えるまでの道のり / a startup started B2B SaaS business from ground zero
kizashi1122
0
1.1k
Rails でつくるマルチテナント型Webアプリケーション / multi-tenant web application building with Rails
kizashi1122
1
2.8k
Other Decks in Technology
See All in Technology
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.8k
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
680
Android の公式 Skill / Android skills
yanzm
0
150
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
1.1k
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
130
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
140
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
170
やさしいA2A入門
minorun365
PRO
12
1.9k
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.4k
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
130
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.2k
Featured
See All Featured
Music & Morning Musume
bryan
47
7.2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Everyday Curiosity
cassininazir
0
230
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Building the Perfect Custom Keyboard
takai
2
790
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Designing Powerful Visuals for Engaging Learning
tmiket
1
410
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
850
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Transcript
SQS の使い方を わかっていなかった nakanoshima.dev #34 - 開発しくじり先生 LT会 2023/09/21 株式会社インゲージ
永田 兆
自己紹介 • 永田 兆(ながた きざし) • @kizashi1122 • 2014年よりインゲージ社(創業メンバー) ◦ 創業時よりCTO ◦
Re:lation(次のページ)の開発 ◦ バックエンドやインフラを担当 2
サービス紹介
Re:lation では非同期処理が多い 4
非同期処理 5 ECS ECS Elasticache (Redis) • Rails を使ってるので非同期処理といえば ActiveJob
(バックエンドは Sidekiq) • Rails で閉じているのであればこれが便利で楽
非同期処理 6 ECS ECS SQS Lambda • S3 の PUT
タイミングでSQSにメッセージをおくることができる • Lambda から ECS にコミュニケーションをとるのであればSQSが楽 • エンキュー側とデキュー側で言語が分かれるのであればSQSが楽 Send (enqueue) Receive (dequeue) S3
最初の構成 7 ECS ECS SQS • ほぼリアルタイムにさばけている
最初の構成(ユーザ数増) 8 ECS ECS SQS • エンキュー>>デキューとなる。 • キュー内にメッセージが滞留することが多くなる。 •
処理が追いつかない。遅延。対策せねば。
9 ここでしくじった 当時、しっかりとSQSを理解できていなかった
実際にとった対策 10 ECS ECS SQS • 2つめのキューを作成した • エンキュー側はリクエストに応じて複数キューにメッセージを振り分けた •
遅延問題は解消はした ECS SQS
さらに増えた 11 ECS ECS SQS ECS SQS ECS SQS ECS
何が問題なのか • 負荷が増えるたびに以下の作業とデプロイが必要になる ◦ キュー増設 ◦ エンキュー側のプログラム修正 ◦ デキュー側のプログラム追加 •
負荷が少ないときにリソースが無駄になる • デキューサイドが 1 タスクなので耐障害性がさがる 12
現在 13 ECS SQS ECS • キューは 1 つでデキューするタスクを増やした •
これらのタスクは同一なので(同じタスク定義)なのでスケール可能 • SQS上のメッセージ数をトラッキングしてデキュー側のタスクをオートスケールし ている CloudWatch
14 インゲージではエンジニアを募集しています!