
지금까지 진행했던 게시글 모듈을 얼추 마무리하고 댓글 모듈을 만들어보려고 한다.
서비스 이용자가 적을 때에는 완전한 MSA 방식으로 운영하면 클라우드 서버에서 돈만 더 나가겠지만, 일단 DB를 완전히 분리하는게 아니라 나중에 분리할 수 있는 형태로 만들어놓고 점차 분리하는 방식으로 진행하면 처음 부담이 적게 MSA를 시작하는 것도 가능할 듯.
일단 지금까지 만들었던 테스트 코드를 쭉 돌려본다. 데이터 삽입하는 부분만 빼고 다 잘 동작하네. 데이터 삽입은 처음에 멤버를 가입시키는 부분이 있어서 중복 아이디로 인해 실패가 나왔는데 이거 없었으면 용량 터졌을듯.
근데 이런걸 보면 데이터 삽입은 테스트 코드에 포함시키면 안될 것 같다.
문서 정리도 하긴 해야하는데 개인 프로젝트다보니까 이런부분은 안하게되네.

이제 댓글 시스템을 만들어보고자 한다.
MSA로 구현하고 있으니 새로운 모듈을 만들어서 새 프로젝트를 진행하듯이 진행해야 한다.

기존 파일 구조를 복사해서 넣고 전역 셋팅 파일에서 모듈로 등록을 해주면 된다.

아니면 인텔리제이에서 이렇게 바로 모듈 추가를 해주는 방법도 있겠지만 나는 안써봐서 모르겠다.

plugins {
id("org.springframework.boot") version "3.5.6"
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
runtimeOnly("com.mysql:mysql-connector-j")
implementation(project(":common:snowflake"))
developmentOnly("org.springframework.boot:spring-boot-docker-compose")
implementation("ch.qos.logback:logback-classic")
compileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
testCompileOnly ("org.projectlombok:lombok")
testAnnotationProcessor("org.projectlombok:lombok")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
의존성 추가는 이렇게 해줬다.
spring dependency management 플러그인이 전역으로 되어있는데 생각해보면 그냥 각 모듈별로 넣는게 나을 것 같기도.

댓글 테이블을 만들어줘야 하는데, MSA이기 때문에 다른 DB를 쓰도록 하겠다.
인강에서는 그렇게까지는 안하고 그냥 테이블간 JOIN이나 외래키 생성만 피하는 방향으로 진행하는데 나는 데이터 대량삽입 테스트때문에 용량이 너무 부족해져서 D드라이브에 DB를 새로 만들어야겠다.
어차피 docker-compose를 사용하고 ddl-auto 설정을 켜줬기때문에 새 모듈이면 자동으로 새로운 DB를 만들어줄 것이다.

도커 컴포즈 설정은 이렇게 해줬다. 포트는 3308 사용.
D드라이브 사용을 하도록 해줌.

그리고 DB 설정이 있어야 SpringBootTest가 돌아갈 수 있다.
'스프링 부트로 블로그 서비스 개발하기' 카테고리의 다른 글
| 댓글 기능 - 댓글 엔티티, 리포지토리, 서비스, 컨트롤러 (0) | 2026.01.16 |
|---|---|
| 포스트 CRUD 기능 - 게시글 목록의 무한 스크롤 조회 (0) | 2026.01.12 |
| 포스트 CRUD 기능 - 커버링 인덱스 방식으로 게시글 목록의 페이지 조회 쿼리 최적화 (0) | 2026.01.11 |
| 포스트 CRUD 기능 - 인덱스 생성 및 커버링 인덱스 (1) | 2026.01.11 |
| 포스트 CRUD 기능 - 쓰레드풀을 써서 게시글 대량 삽입 테스트 (0) | 2026.01.10 |