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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kizashi Nagata
September 21, 2023
Technology
910
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
620
aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault
kizashi1122
0
1.1k
inotify の話 / About inotify
kizashi1122
0
790
B2Bクラウドサービスをゼロから立ち上げて、利用社数が1000社を超えるまでの道のり / a startup started B2B SaaS business from ground zero
kizashi1122
0
1.2k
Rails でつくるマルチテナント型Webアプリケーション / multi-tenant web application building with Rails
kizashi1122
1
2.8k
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
180
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.4k
My broken English still works: speaking at global OSS events
naruoga
0
120
関東Kaggler会発表資料
takoi
1
270
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
120
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
350
Rust×eBPFでEDRっぽいものをつくる
sunlife3
1
470
Oracle MCP Servers Explained
thatjeffsmith
0
310
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Being A Developer After 40
akosma
91
590k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
480
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Music & Morning Musume
bryan
47
7.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
From π to Pie charts
rasagy
0
310
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Cost Of JavaScript in 2023
addyosmani
55
10k
30 Presentation Tips
portentint
PRO
1
370
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
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 インゲージではエンジニアを募集しています!