Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Sidekiq+Valkey Serverlessでハマった話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuto Uchima
August 08, 2025
Technology
230
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Sidekiq+Valkey Serverless でハマった話
Omotesando.rb #112でLT登壇した資料。
Yuto Uchima
August 08, 2025
More Decks by Yuto Uchima
See All by Yuto Uchima
beelt-aws-job
sabinuki
0
18
Other Decks in Technology
See All in Technology
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
180
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
How to Design Configuration for Rails Applications
willnet
1
770
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
Refining Active Record
shugo
0
150
夫婦で子育てするための育児標準化
codmoninc
PRO
0
330
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Featured
See All Featured
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Crafting Experiences
bethany
1
380
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
So, you think you're a good person
axbom
PRO
2
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Scaling GitHub
holman
464
140k
Transcript
Sidekiq+Valkey Serverless でハマった話 2025.08.07 Omotesando.rb #112 株式会社きがるな 内間 悠人
confidential 自己紹介 株式会社きがるな 1 Yuto Uchima (@beerfan_biber) うっちーって呼んでね! • 株式会社きがるな
代表取締役 • フルスタックエンジニア • ビールが好き • Casusult(カジュサル)というサービスを開発しています
confidential プロダクト紹介 Casusult(カジュサル) • SNSクラウドソーシングプラットフォーム • 「カジュアルに相談してから契約」がコンセプト • “スキル×人柄”からワーカーの選定が可能 株式会社きがるな
2
株式会社きがるな 3 ぜひ一度覗いてみてください!
株式会社きがるな 4 みなさん、Sidekiqは使っていますか?
confidential Sidekiqとは バックグラウンドジョブ処理ライブラリ 【開発・運用面のメリット】 • Redisをバックエンドに使用したシンプルな構成 • リトライ、スケジューリング、監視が可能 • ダッシュボード
【パフォーマンス】 • 高速で信頼性の高い処理 • ワーカー数を調整可能でスケーラブル • メモリ使用量が少ない 株式会社きがるな 5
confidential インプレッション集計ジョブ 株式会社きがるな 6 投稿がタイムラインに表示される • 投稿が取得されるたびにインプレッションをカウント • 毎カウントでDB更新するのは負荷が高い •
カウントをキャッシュしてDB更新頻度を下げたい → インプレッション集計ジョブ作成
confidential インプレッション集計ジョブの実装 1. 取得投稿ID+ユーザーID をRedisにキャッシュ 2. Jobをキューイング (5分後に実行) 3. インプレッション数を
Bulk Update 投稿取得 ↓ Redisに投稿IDをキャッシュ ↓ Job実行を5分後に設定 株式会社きがるな 7
confidential インプレッション集計ジョブの実装 株式会社きがるな 8 1. 取得投稿ID+ユーザーID をRedisにキャッシュ 2. Jobをキューイング (5分後に実行)
3. インプレッション数を Bulk Update ジョブ実行 ↓ Redisの排他制御で リロードによる重複カウントを防ぐ ↓ インプレッション数を更新
confidential インプレッション集計ジョブ 株式会社きがるな 9 投稿がタイムラインに表示される 非同期でジョブを実行
confidential インフラ構成簡易図(APIサーバ) 株式会社きがるな 10 Fargate ElastiCache Serverless (Valkey) Amazon Aurora
Serverless v2 Amazon EventBridge Amazon S3
confidential インフラ構成簡易図(APIサーバ) 株式会社きがるな 11 Fargate ElastiCache Serverless (Valkey) Amazon Aurora
Serverless v2 Amazon EventBridge Amazon S3 既存のリソースを利用して FargateにSidekiq用のコンテナを追加 ElastiCacheをSidekiqで利用
confidential Sidekiq用のコンテナを作成 株式会社きがるな 12 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
confidential Sidekiq用のコンテナを作成 株式会社きがるな 13 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
接続エラー
confidential エラー原因 • 使用していたValkeyがクラスタ構成 • Sidekiqはクラスタ構成のValkey(Redis)に対応していませんでした 以下、SidekiqのGitHubより抜粋 (https://github.com/sidekiq/sidekiq/wiki/Using-Redis#architecture) 株式会社きがるな 14
confidential 構成変更 株式会社きがるな 15 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
廃止
confidential 構成変更 株式会社きがるな 16 Fargate コンテナ Amazon SQS Active Job
confidential まとめ • ドキュメントをしっかりと読もう • 特に外部接続が発生する場合、接続先との相性を確認しよう みなさん、最近はVibe Codingでの実装が多いのでは? 最近ドキュメントをちゃんと読んでますか? 株式会社きがるな
17
confidential おわり ご清聴ありがとうございました。 株式会社きがるな 18 <Casusult をよろしく