NoSQL3 Redis Cluster: 고성능과 고가용성을 위한 데이터 분산 전략 Redis Cluster가 제공하는 것 여러 노드에 자동적인 데이터 분산 일부 노드의 실패나 통신 단절에도 계속 작동하는 가용성 고성능을 보장하면서 선형 확장성을 제공 Redis Cluster 특징 1. Partitioning(파티셔닝) 16384개의 해시 슬롯을 사용하여 데이터를 파티셔닝합니다. 키의 해시 값에 따라 특정 슬롯에 할당됩니다.(CRC16 해시 함수를 사용) 각 Redis 노드는 16384개의 해시 슬롯 중 일부를 책임집니다. 클라이언트는 키의 해시 슬롯을 계산하여 해당 데이터를 저장하거나 검색할 Redis 노드를 알 수 있습니다. 1) CRC16 해시 함수 CRC16은 키를 16비트의 정수 값으로 변환하는데 0 ~ 65535 까지의 범위를 가질 수 있습니다. 2) 해시 슬롯 Redis C.. 2024. 1. 25. Redis Sentinel의 이해: 고가용성을 위한 모니터링 및 장애 조치 전략 Sentinel 구조 기능 모니터링(Monitoring) : Redis의 Master / Slave 가 정상 작동하고 있는지 지속적으로 감시 알림(Notification) : Redis 가 failover 되었을 때 pub / sub 로 클라이언트에게 알려주거나 shell script 로 이메일이나 SMS로 클라이언트에게 알려준다. Sentinel은 '"__sentinel__:hello"` 채널을 통해 pub / sub 메시지를 전송합니다. 클라이언트는 이 채널을 구독하여 Sentinel의 이벤트를 수신할 수 있습니다. 주의할 점은 '"__sentinel__:hello"` 채널은 Sentinel의 상태 및 구성 정보를 주기적으로 공유하기 위한 주요 채널이기 때문에 failover 외의 다양.. 2024. 1. 25. Redis ZSet의 이해: 스코어 기반 정렬의 모든 것 Sorted Set (ZSet) 이란? Set의 특성을 그대로 가지면서 추가적으로 저장된 Value(Member)들의 순서도 관리해줍니다. 순서를 위해 value(member)에 대해 score를 필요에 맞게 설정할 수 있으며, score를 기반으로 정렬됩니다. Sorted Set 구조 Sorted Set 명령어 1. ZADD ZADD key scroe member zadd는 key와 score member를 통해 값을 추가 및 변경 하는 명령어입니다. zset에 각 과일의 이름과 가격 데이터를 추가합니다. 과일 데이터를 저장할 zset의 key는 fruit라고 정하였고 key의 각 value(member)를 apple, banana, melone, pineapple, peach라고 정하였습니다. 1개씩.. 2024. 1. 25. 이전 1 다음