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
220
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
61
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
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.2k
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
160
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
140
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
0
330
Securing your Lambda 101
chillzprezi
0
250
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
210
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
150
ゆるSRE #11 LT
okaru
1
590
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Thoughts on Productivity
jonyablonski
69
4.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
KATA
mclloyd
29
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
GraphQLとの向き合い方2022年版
quramy
46
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.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