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
32
Sidekiq+Valkey Serverless でハマった話
Omotesando.rb #112でLT登壇した資料。
Yuto Uchima
August 08, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
7
1.1k
人を動かすことについて考える
ichimichi
2
210
なごミュ@SPAJAM2025 第二回予選
1901drama
0
110
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
250
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
5
550
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
320
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
970
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
190
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
1
280
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.5k
Observability for LLM Application lifecycle
ivry_presentationmaterials
1
180
datadog-distribution-of-opentelemetry-collector-intro
tetsuya28
0
180
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Balancing Empowerment & Direction
lara
2
570
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fireside Chat
paigeccino
39
3.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
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 をよろしく