redis sentinel이 여러 redis 인스턴스간에 HA (고 가용성)를 구성하는 방법이라는 것을 이해합니다. 보시다시피 주어진 시간에 클라이언트 요청을 적극적으로 처리하는 하나의 redis 인스턴스가 있습니다. 두 개의 추가 서버가 대기 상태에 있습니다 (실패가 발생할 때까지 대기하므로 그중 하나가 다시 작동 할 수 있음).
- 자원 낭비입니까?
- 사용 가능한 리소스를 최대한 활용하는 더 좋은 방법이 있습니까?
- Redis 클러스터링은 Redis 센티넬의 대안입니까?
나는 이미 sentinel 및 clustering에 대한 redis 문서를 찾았습니다 . 경험이있는 누군가가 설명해 주시겠습니까?
최신 정보
확인. 실제 배포 시나리오에서는 redis 전용 서버가 두 개 있습니다. 내 Jboss 서버가 실행중인 다른 서버가 있습니다. Jboss에서 실행되는 응용 프로그램은 redis 마스터 서버 (M)에 연결하도록 구성되어 있습니다.
장애 조치 시나리오
이상적으로는 마스터 캐시 서버가 실패하면 (Redis 프로세스가 다운되거나 시스템이 실패하면) Jboss의 애플리케이션이 Slave 캐시 서버에 연결해야한다고 생각합니다. 이를 위해 redis 서버를 어떻게 구성해야합니까?
+--------+ +--------+
| Master |---------| Slave |
| | | |
+--------+ +--------+
Configuration: quorum = 1