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
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
130
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
340
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
190
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
140
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
110
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.8k
人材育成分科会.pdf
_awache
4
260
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
150
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
240
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Amusing Abliteration
ianozsvald
1
200
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Odyssey Design
rkendrick25
PRO
2
700
Agile that works and the tools we love
rasmusluckow
331
21k
The SEO Collaboration Effect
kristinabergwall1
1
480
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Believing is Seeing
oripsolob
1
140
A Modern Web Designer's Workflow
chriscoyier
698
190k
Everyday Curiosity
cassininazir
0
230
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
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 インゲージではエンジニアを募集しています!