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
93
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
420
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
41
Other Decks in Technology
See All in Technology
窓口業務を生成AIにおまかせ!Bedrock Agent Coreで実現する自治体AIエージェント!
rayofhopejp
0
290
決済システムの信頼性を支える技術と運用の実践
ykagano
0
310
3年ぶりの re:Invent 今年の意気込みと前回の振り返り
kazzpapa3
0
180
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
130
Amazon Q Developer CLIをClaude Codeから使うためのベストプラクティスを考えてみた
dar_kuma_san
0
370
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
2
220
仕様駆動 x Codex で 超効率開発
ismk
0
120
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
140
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
1k
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
AWS IAM Identity Centerによる権限設定をグラフ構造で可視化+グラフRAGへの挑戦
ykimi
2
610
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
410
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Writing Fast Ruby
sferik
630
62k
How to Ace a Technical Interview
jacobian
280
24k
Thoughts on Productivity
jonyablonski
73
4.9k
Done Done
chrislema
186
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Side Projects
sachag
455
43k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Visualization
eitanlees
150
16k
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