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
Yuto Uchima
August 08, 2025
Technology
200
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
14
Other Decks in Technology
See All in Technology
20260912_スクラムにジェネラリストは必要か
ryugen04
0
410
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
150
データ_AIの事業の勝敗をわけるもの
nek0128
0
320
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
1.7k
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.3k
Minecraft JavaのMODをSwiftで作る
1mash0
0
160
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
150
品質と信頼性を地続きにする
grimoh
0
320
人間はどの意思決定を手放せるのか
kawasima
14
6.2k
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
150
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
3.2k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Side Projects
sachag
456
43k
Prompt Engineering for Job Search
mfonobong
0
450
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Scaling GitHub
holman
464
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
A Tale of Four Properties
chriscoyier
163
24k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
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 をよろしく