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
Kizashi Nagata
September 21, 2023
Technology
840
0
Share
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
570
aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault
kizashi1122
0
1.1k
inotify の話 / About inotify
kizashi1122
0
750
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
Hello UUID
mimifuwacc
0
130
New CBs New Challenges
ysuzuki
1
170
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
2.4k
Databricksを用いたセキュアなデータ基盤構築とAIプロダクトへの応用.pdf
pkshadeck
PRO
0
280
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから
zozotech
PRO
4
3.3k
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
310
Zero-Downtime Migration: Moving a Massive, Historic iOS App from CocoaPods to SPM and Tuist without Stopping Feature Delivery
kagemiku
0
230
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
360
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
340
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
150
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.3k
終盤で崩壊させないAI駆動開発
j5ik2o
0
460
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
570
Design in an AI World
tapps
0
190
Amusing Abliteration
ianozsvald
1
150
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
GraphQLとの向き合い方2022年版
quramy
50
14k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
760
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
520
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
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 インゲージではエンジニアを募集しています!