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
Why our platform needs Redis Sentinel
Search
Luong Vo
August 11, 2020
Technology
0
87
Why our platform needs Redis Sentinel
Luong Vo
August 11, 2020
Tweet
Share
More Decks by Luong Vo
See All by Luong Vo
Performance Monitoring at Employment Hero
luongvo
0
140
Lalaland - A C2C ecommerce site - pitch deck
luongvo
0
400
Skeleton-based Human Action Recognition with Recurrent Neural Network
luongvo
0
230
Ruby Threads
luongvo
1
31
Caching in Ruby
luongvo
1
32
Monitoring system at Employment Hero
luongvo
0
46
Introduction to Docker and Docker Compose
luongvo
0
62
Database migration from Heroku to Amazon Web Services
luongvo
0
68
Sandbox environments for development
luongvo
0
38
Other Decks in Technology
See All in Technology
shake-upを科学する
rsakata
7
820
What’s new in Android development tools
yanzm
0
470
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
5
410
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
320
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
300
Delegating the chores of authenticating users to Keycloak
ahus1
0
160
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
270
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
970
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
180
Claude Code に プロジェクト管理やらせたみた
unson
7
4.7k
CDK Toolkit Libraryにおけるテストの考え方
smt7174
0
220
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
0
230
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Fireside Chat
paigeccino
37
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How GitHub (no longer) Works
holman
314
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Bash Introduction
62gerente
613
210k
Building Adaptive Systems
keathley
43
2.7k
We Have a Design System, Now What?
morganepeng
53
7.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
Redis Sentinel High availability with your beloved Redis
Single server, single failure point Redis Instance Client Application
Multiple servers Redis Instance Client Application Redis Instance Redis Instance
Replication Redis Master Client Application Redis Slave Redis Slave
Replication Redis Master Client Application Redis Slave Redis Slave Async
replication
Replication Use Case Redis Master Client Application Redis Slave Redis
Slave Async replication Increase scalability, data safety Write to master, read from any
Still doesn’t improve failover Redis Master Client Application Redis Slave
(Terminating) Redis Slave Read error
Still doesn’t improve failover Client Application Redis master (Terminating) Redis
Slave Stale data Redis Slave Stale data
Failure event expectation Redis Master (terminating….) Client Application Redis Slave
(being promoted..) Redis Slave
Failure event expectation New redis Master Client Application Redis Slave
(just created) Redis Slave
Who decides the failure and recovery?
Redis Sentinel Redis Master Client Application Redis Slave Redis Slave
Sentinel 2 Sentinel 3 Sentinel 1 Monitor Notify Clients
Judging Redis with Sentinel practically Consistency, Availability, Partition Tolerance? Consistency
or Availability is depending on configuration, but Redis is not designed to be highly CP or AP.
High availability configuration Redis Master Client Application Redis Slave Redis
Slave Sentinel 2 Sentinel 3 Sentinel 1
High availability configuration Redis Master Client Application Redis Slave Redis
Slave Sentinel 2 Sentinel 3 Sentinel 1
High availability configuration Redis Master Client Application Redis Slave Redis
Slave Sentinel 2 Sentinel 3 Sentinel 1 Network partition
High availability configuration Redis Master Client Application Redis Slave Redis
Slave Sentinel 2 Sentinel 3 Sentinel 1 unavailable available available
High availability configuration Client Application Redis Slave Redis Master (terminating….)
Sentinel 3 unavailable available available Sentinel 2 New redis Master Sentinel 1
However Client Application Redis Slave Redis Master (terminating….) Sentinel 3
unavailable available available Sentinel 2 New redis Master Sentinel 1 Lost w rite Async replication, remember?
High consistency configuration Client Application Redis Slave Redis Master (terminating….)
Sentinel 3 unavailable available available Sentinel 2 New redis Master Sentinel 1 min-replicas-to-write 1 min-replicas-max-lag 10 stop!
Eventual Consistency Strict vs Eventual consistency
Multiple master to improve HA Client Application Redis Master Redis
Slave Redis Slave Sentinel 2 Sentinel 3 Sentinel 1 Redis Master Redis Slave Redis Slave Sentinel 5 Sentinel 6 Sentinel 4 Redis Master Redis Slave Redis Slave Sentinel 8 Sentinel 9 Sentinel 7
None
None