분류 전체보기237 [실전 레디스] Chaprter 08_레디스 클러스터 8.1 레디스 클러스터 기능 개요레디스 클러스터란?레디스 클러스터는 여러 레디스 인스턴스를 하나의 논리적 단위로 묶어 수평적 확장(horizontal scaling)을 지원하는 분산 시스템 주요 특징자동 샤딩(Auto Sharding): 16,384개의 해시 슬롯으로 데이터를 자동 분산고가용성: 마스터 노드 장애 시 자동 페일오버확장성: 노드 추가/제거를 통한 동적 확장 데이터 일관성: 강력한 일관성 모델 제공 클러스터 vs 센티넬목적수평 확장 + 고가용성고가용성 (모니터링 + 페일오버)데이터 분산자동 샤딩복제 기반최소 노드 수6개 (마스터 3 + 슬레이브 3)3개 (센티넬 노드) 8.2 레디스 클러스터 장애 탐지장애 탐지 메커니즘메커니즘 레디스 클러스터는 고시프 프로토콜(Gossip Protocol)을.. 2025. 7. 14. [실전 레디스] Chaprter 07_레플리케이션 레디스의 레플리케이션과 메커니즘을 알아보는 시간 데이터 레플리케이션: 쓰기 작업이 있을 때마다 업데이트된 데이터를 다른 서버로 복제하는 것 위 방식을 통해 얻을 수 있는 것서버 추가 및 리소스 확장하여 읽기 쿼리의 부하 관리데이터 중복성을 통한 페일오버로 가용성 얻을 수 있음 7.1 레플리케이션 기능단일 노드 방식은 장애나 네트워크 연결 문제, 시스템 충돌 같은 문제에 쉽게 영향을 받는다.따러서 실제 운영에서는 다중 노드로 구성하여 가용성을 확보한다. 레디스는 여러 노드로 운영하기 위한 레플리케이션 기능을 제공하고 있다. 마스터-레플리카 모델에서는 지속적으로 마스터의 업데이트 내용을 여러 레플리카에 반영하는데, 이 방식은 RDBMS에서 사용하는 방식과 유사하다. 레플리케이션의 목적은 '읽기 작업 확.. 2025. 7. 7. [실전 레디스] Chaprter 06_트러블 슈팅 1. INFO 명령어로 서버 정보 읽기레디스 트러블슈팅의 첫 번째 단계는 현재 서버 상태를 정확히 파악하는 것이다. INFO 명령어는 레디스 서버의 전반적인 상태 정보를 제공하는 가장 기본적이면서도 강력한 도구이다.기본 사용법# 전체 정보 조회redis-cli INFO# 특정 섹션만 조회redis-cli INFO memoryredis-cli INFO statsredis-cli INFO replication주요 섹션별 정보Server 섹션redis_version: 레디스 버전uptime_in_seconds: 서버 가동 시간tcp_port: 포트 번호Memory 섹션used_memory_human: 사용 중인 메모리 (사람이 읽기 쉬운 형태)used_memory_peak: 최대 메모리 사용량maxmemory.. 2025. 7. 1. [실전 레디스] Chaprter 05_레디스 운용 관리 데이터 영속성레디스는 인메모리 데이터베이스의 특성상 기본적으로 모든 데이터를 메모리에서 처리한다.따라서 서버가 재시작되면 데이터가 유실될 수 있다. 레디스에는 영속성을 위한 설정이 있지만, 영속성 관련 기능을 모두 활성화하는 것은 권장하지 않는다. 트레이드오프를 고려하여 적절한 영속성 전략을 짜는 것이 중요하다. 레디스는 스냅숏과 AOF를 통해 데이터의 영속성을 보장한다.위 두 가지 방법을 조합해서 아래 네 가지 방식으로 영속성 전략을 짤 수 있고, 이 방법으로 백업 생성도 가능하다.1) 스냅숏2) AOF3) 스냅숏 + AOF4) 영속성 사용하지 않음 AOF의 디폴트 값: 비활성화 스냅숏의 디폴트 값1시간 내에 최소 하나 이상의 키가 변경되는 경우5분 내에 최소 100개 이상의 키가 변경되는 경우1분 내.. 2025. 6. 23. [실전 레디스] Chaprter 04_레디스를 활용한 애플리케이션 작성 레디스는 다양언 언어를 지원하는 클라이언트 라이브러리를 가지고 있다.이 장에서는 여러 클라이언트 소개 및 일부 언어를 통해 클라이언트를 사용하는 방법을 배울 수 있도록 하고 있다. 다양한 언어를 지원하는 레디스 https://redis.io/docs/latest/develop/clients/ Connect with Redis client API librariesConnect your application to a Redis database and try an exampleredis.io 레디스는 주요 언어 뿐만 아니라 많은 환경을 지원하고 있다. 레디스 공식 문서에 나열된 것만 해도 50개가 넘는다. 레디스 클라이언트를 선택할 때는 다음과 같은 사항이 고려되어야한다.물론 아래 내용은 레디스 외 다른 .. 2025. 6. 16. [코틀린 코루틴] 16장 - 채널 데이터를 Stream 처럼 전송하기 위한 인터페이스Kafka 처럼 데이터를 제공하는 produce와 소비하는 consumer 의 역할로 구성개념 및 특징송신자와 수신자의 수에 제한이 없음채널을 통해 전송된 모든 값은 단 한 번만 받을 수 있음Queue와 동일하게 첫번째로 제공된 데이터는 항상 첫번째로 소비되는 것 보장두 개의 서로 다른 인터페이스를 구현한 하나의 인터페이스SendChannel: 원소(데이터)를 보내거나 채널을 닫는 용도ReceiveChannel: 원소(데이터)를 받을 때 사용send, receive 모두 중단 함수 (원소를 보내고, 받는 함수가 중단 함수인 것은 필수)receive: 채널에 원소가 없다면 코루틴은 원소가 들어올 때까지 중단send: 채널의 용량이 다 찼을 때 중단 (용량 .. 2025. 6. 12. 이전 1 2 3 4 5 ··· 40 다음