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
Sidekiq+Valkey Serverlessでハマった話
Search
Yuto Uchima
August 08, 2025
Technology
1
37
Sidekiq+Valkey Serverless でハマった話
Omotesando.rb #112でLT登壇した資料。
Yuto Uchima
August 08, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
540
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
1
210
ガチな登山用デバイスからこんにちは
halka
1
240
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
390
「Linux」という言葉が指すもの
sat
PRO
3
110
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
230
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
200
Android Audio: Beyond Winning On It
atsushieno
0
100
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Become a Pro
speakerdeck
PRO
29
5.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Designing for Performance
lara
610
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to train your dragon (web standard)
notwaldorf
96
6.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
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 をよろしく