redis 클러스터와 센티널의 차이점은 무엇인가요?
센트리의 역할은 Redis 시스템의 실행 상태를 모니터링하는 것입니다. 다음 두 가지 기능이 있습니다. (추천 학습: Redis 동영상 튜토리얼)
마스터 데이터베이스와 슬레이브 데이터베이스가 정상적으로 실행되는지 모니터링하세요.
기본 데이터베이스에 오류가 발생하면 자동으로 보조 데이터베이스에서 기본 데이터베이스로 전환됩니다.
Sentinel은 마스터가 다운된 것을 확인한 후 슬레이브에서 마스터를 다시 선택합니다.
Sentinel 모드는 고가용성을 강조합니다.
Sentinel 시스템은 여러 Redis 서버(인스턴스)를 관리하는 데 사용됩니다. 시스템은 다음 세 가지 작업을 수행합니다.
Monitoring(모니터링): Sentinel은 마스터 서버와 슬레이브 서버의 상태를 지속적으로 확인합니다. 제대로 작동하고 있습니다.
알림: 모니터링되는 Redis 서버에 문제가 있는 경우 Sentinel은 API를 통해 관리자나 다른 애플리케이션에 알림을 보낼 수 있습니다.
자동 장애 조치: 마스터 서버가 제대로 작동하지 않으면 Sentinel은 장애가 발생한 마스터 서버의 슬레이브 서버 중 하나를 새 마스터 서버로 업그레이드하고 장애가 발생한 마스터 서버가 다른 슬레이브 서버를 사용하도록 합니다. 클라이언트가 실패한 마스터 서버에 연결을 시도하면 클러스터도 새 마스터 서버의 주소를 클라이언트에 반환하여 새 마스터 서버를 복제하도록 서버를 변경합니다. 실패한 서버를 교체합니다.
클라이언트는 redis(특정 IP)의 주소를 기록하지 않고 sentinel의 주소를 기록하므로 sentinel에서 직접 redis 주소를 얻을 수 있습니다. 왜냐하면 sentinel은 모든 마스터와 슬레이브를 모니터링하고 누가 누구인지 알기 때문입니다. 실제 마스터인가요? 예를 들어 장애 조치를 수행하면 센티널의 경우 마스터가 변경되고 클라이언트에 알림이 전송됩니다. 클라이언트는 누가 실제 마스터인지 전혀 신경 쓸 필요가 없으며 센티넬이 마스터에게만 알려줍니다.
Cluster
Sentinel을 사용해도 각 Redis 인스턴스는 완전히 저장되며, 각 Redis에 저장된 콘텐츠는 완전한 데이터이므로 메모리를 낭비하고 배럴 효과가 있습니다. 메모리 활용을 극대화하기 위해 분산 스토리지인 클러스터를 사용할 수 있다. 즉, 각 Redis는 총 16,384개의 슬롯으로 서로 다른 콘텐츠를 저장합니다. 각 redis에는 일부 슬롯이 할당됩니다. 해당 슬롯을 찾기 위해 hash_slot = crc16(key) mod 16384입니다. 키는 사용 가능한 키입니다. {}가 있는 경우 {} 내의 하나를 사용 가능한 키로 사용하고, 그렇지 않으면 전체 키를 사용합니다. 는 사용 가능한 키입니다
클러스터는 최소한 3개의 마스터와 3개의 슬레이브가 필요하며 각 인스턴스는 서로 다른 구성 파일을 사용합니다. 마스터와 슬레이브는 구성할 필요가 없으며 클러스터가 스스로 선택합니다.
cluster는 단일 머신 Redis의 제한된 용량 문제를 해결하고 특정 규칙에 따라 여러 머신에 데이터를 배포하는 것입니다.
클러스터 모드는 동시성을 높입니다.
더 많은 Redis 관련 기술 기사를 보려면 Redis 데이터베이스 사용 튜토리얼 소개 칼럼을 방문하여 알아보세요!
위 내용은 Redis 클러스터와 Sentinel의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!