cover image

[Java]SpringBoot DataSource 이중화(CQRS 패턴) 구현

도입 이전 포스팅 참조 : DB 이중화 및 CQRS 패턴의 중요성 > MySQL Replication Database 구현 실습환경 Docker : v25.0.3 MySQL : v8.3.0 Java : v17.0.9 Spring : v3.2.4 저번 시간에 생성한 Master / Slave DB에 SpringBoot를 직접 연동해서 CRUD를 하는 실습을 진행합니다. 프로젝트 생성 Springboot 프로젝트를 생성합니다. 아래 사진과 같이 JPA, Lombok, MySQL Driver 의존성을 추가하겠습니다. 스프링부트 프로젝트를 위와 같이 의존성을 추가하여 생성합니다. build.gradle 실행 위에서 생성한 프로젝트의 jar파일을 풀고, build.gradle 파일을 intellij 혹은 eclipse로 실행합니다. gradle로 프로젝트를 실행하면 자동으로 소스파일 경로가 생성됩니다. ...

2024. 3. 19. · 6 분 · 1230 단어 · Leaf
mysql_repl

[MySQL]Replication Database 구현

도입 이전 포스팅 참조 : DB 이중화 및 CQRS 패턴의 중요성 실습환경 Docker : v25.0.3 MySQL : v8.3.0 시작에 앞서 간단히 Replication의 원리를 확인해보겠습니다. Slave DB는 Master DB의 로그파일을 참조하여 변경사항을 업데이트 합니다. Master DB는 데이터 변경사항을 Binary log 파일에 저장합니다. Slave DB는 Binary log 파일의 변경사항을 감시하다가, 변경이 발생하면 해당 로그를 확인합니다. 변경사항을 Relay log파일에 적용합니다. SQL Thread는 Relay log파일의 변경사항을 감시하다가, 변경이 발생하면 DB에 반영합니다. 그럼 이제 본격적으로 MySQL Master DB와 Slave DB를 Docker 이미지로 생성하고, Replication 설정을 통해 Master DB의 변경사항을 Slave DB로 복제하는 실습을 진행하겠습니다. ...

2024. 3. 13. · 6 분 · 1071 단어 · Leaf