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
92
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
410
Skeleton-based Human Action Recognition with Recurrent Neural Network
luongvo
0
240
Ruby Threads
luongvo
1
31
Caching in Ruby
luongvo
1
33
Monitoring system at Employment Hero
luongvo
0
49
Introduction to Docker and Docker Compose
luongvo
0
64
Database migration from Heroku to Amazon Web Services
luongvo
0
69
Sandbox environments for development
luongvo
0
40
Other Decks in Technology
See All in Technology
ガチな登山用デバイスからこんにちは
halka
1
230
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
160
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
120
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.4k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.1k
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
110
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
270
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
530
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
260
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Into the Great Unknown - MozCon
thekraken
40
2k
Rails Girls Zürich Keynote
gr2m
95
14k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Typedesign – Prime Four
hannesfritz
42
2.8k
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