## 기능 - Monitoring - 마스터 및 레플리카 인스턴스가 동작하는지 지속적으로 확인. - Notification - API를 통해 인스턴스에 문제가 있음을 알릴 수 있다. - Automatic Failover - 마스커가 동작하지 않으면 레플리카가 마스터로 승격되고, 다른 레플리카들이 새로운 마스터를 사용하도록 재구성되고, 레디스를 사용하는 클라이언트에 새 주소를 알려준다. - Configuration provider - 마스터의 주소를 클라이언트에 알려준다. ## 작동 ![Redis sentinel vs clustering - Stack Overflow](https://i.stack.imgur.com/Citcm.png) - 센티넬 과반 수 이상이 마스터의 장애를 감지하면 레플리카 중 하나를 마스터로 승격시킨다. - 다수결에 의해 결정되기 때문에 센티넬은 항상 홀수여야하고, 안전하게 최소 3개 이상이 필요하다. - 내부적으로 pub/sub으로 통신한다. - 센티넬에 직접 쿼리를 날려서 통신할 수도 있고, pub/sub으로 구독해서 센티넬이 주는 이벤트를 받을 수도 있다. ### Quorum - 쿼럼은 마스터를 장애 상태로 만들기 위해 동의해야하는 센티넬의 수이다. - 단순히 장애를 찾는 용도이고 실제로 failover를 하려면 센티넬의 과반수가 투표해야한다. #redis #db