Skip to content

JayongLee/backend-distributed-database

Repository files navigation

분산 데이터베이스 - Replication, 부하 테스트, 모니터링

발표자료

분산 데이터베이스 전략 및 테스트 결과 정리 : Velog

🔁 Replication

분산 데이터베이스 전략 중 Replication에 대해 MySQL의 GTID (Global Transactional Identifier) 기반 Replication 실습 프로젝트 입니다.

  • MySQL GTID 기반 데이터 복제 전략
  • 쓰기 작업을 답당하는 Master DB와 읽기 작업을 담당하는 Slave DB 전략을 통한 쓰기/읽기 분리 및 부하 분산

Spring 읽기/쓰기 분리

스크린샷 2025-10-12 22 32 04

사용 기술 스택

구분 기술 설명
Java Java 17 Spring에서 사용할 언어
Framework Spring Boot 3.5.5 REST API 및 DB 연동
Database MySQL 8.4 Master–Slave 복제 구성
ORM Spring Data JPA Entity 매핑 및 트랜잭션 관리
Infra Docker, Docker Compose 컨테이너 기반 환경 구성
Monitoring Prometheus, Grafana DB 및 Spring 트래픽 모니터링
Testing k6 부하 테스트

🧪 부하 테스트 & 모니터링

  • k6를 이용한 DB 부하 테스트 스크립트를 통해 Master/Slave 부하 테스트
  • Prometheus / Grafana를 통한 부하 측정 및 모니터링

측정 항목

  • Warm-up 2분
  • RPS 1000r/s 5분
  • RPS 1300r/s 10분
  • Cooldown : 3분

읽기/쓰기 비율

  • 읽기 80% 쓰기 20%

측정 항목

  • 응답시간
  • 실패율
  • 지연 시간

실행 방법

# 1. 프로젝트 클론
git clone https://github.com/JayongLee/backend-distributed-database.git
cd backend-distributed-database

# 2. Docker Compose 실행
docker-compose up --build

# 3. 테스트 결과 확인 및 모니터링
http://localhost:9000

About

분산 데이터베이스 실습 코드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published