Elasticsearch로 트래픽 분산, 성능 UP!
by DD
11개월 전
조회수 4
플레이스 조회 트래픽 증가로 인해 확장성 한계에 직면함
Elasticsearch(Opensearch)를 도입하여 메인 DB에서 트래픽을 분산함
CQRS 패턴 및 Feature Toggle을 활용하여 시스템 안정성을 확보
Elasticsearch 아키텍처 개요
Elasticsearch는 분산 검색 엔진으로, 대량의 데이터를 효율적으로 저장하고 검색할 수 있다. 구체적으로 샤딩(Sharding)과 레플리카(Replica)를 통해 데이터 가용성과 수평적 확장성을 확보한다. 따라서 CQRS 패턴과 결합하여 읽기 성능을 향상시킬 수 있다.
트래픽 분산을 위한 CQRS 패턴
CQRS 패턴은 읽기(Read)와 쓰기(Write) 작업을 분리하여 시스템의 유연성을 높인다. Elasticsearch를 읽기 모델로 사용하고, 메인 DB를 쓰기 모델로 활용한다. 반면 데이터 일관성 유지를 위해 이벤트 소싱 또는 결합된 업데이트 전략이 필요하다.
Feature Toggle을 활용한 배포 전략
Feature Toggle은 코드 배포와 기능 활성화를 분리하여 배포 위험을 줄인다. 구체적으로 Feature Flag를 사용하여 새로운 기능을 점진적으로 배포하고, 자동 Fallback 기능을 통해 장애 발생 시 복구한다. 따라서 서비스 안정성을 확보할 수 있다.