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
74
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
130
Lalaland - A C2C ecommerce site - pitch deck
luongvo
0
290
Skeleton-based Human Action Recognition with Recurrent Neural Network
luongvo
0
130
Ruby Threads
luongvo
1
24
Caching in Ruby
luongvo
1
27
Monitoring system at Employment Hero
luongvo
0
29
Introduction to Docker and Docker Compose
luongvo
0
48
Database migration from Heroku to Amazon Web Services
luongvo
0
51
Sandbox environments for development
luongvo
0
32
Other Decks in Technology
See All in Technology
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
450
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
170
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
600
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
150
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
910
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
510
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
140
データベース02: データベースの概念
trycycle
0
180
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
270
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
240
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
610
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
Featured
See All Featured
Producing Creativity
orderedlist
PRO
338
39k
Web Components: a chance to create the future
zenorocha
306
41k
Fantastic passwords and where to find them - at NoRuKo
philnash
38
2.5k
Atom: Resistance is Futile
akmur
260
25k
Teambox: Starting and Learning
jrom
128
8.4k
Unsuck your backbone
ammeep
663
57k
A Philosophy of Restraint
colly
197
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
The Cost Of JavaScript in 2023
addyosmani
20
3.9k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Happy Clients
brianwarren
92
6.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
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