본문 바로가기

Backend/Microservice 전환기

[Microservice 전환기] 1. 기존 모놀리식 아키텍처 전체 구조와 전환 배경

현재 구조

Nest js로 작성된 API 서버에 1개에 게시물 CRUD 기능과, 유저 정보, 인증, 관심 목록, 리뷰, 알림 모든 기능이 모조리 들어가있었다.

 

전환 배경

이 정도의 프로젝트 규모까지는 모놀리식 구조로 운영하여도 별 문제가 없었다. 오히려 개발, 디버깅하기에 너무 편했다.

 

하지만 마지막에 추가된 관심 목록, 리뷰 기능을 개발할 때 모듈 간 종속성이 커서 애를 먹기도 하였고 1개의 서비스에 장애가 발생할 경우 전체 서비스로 장애가 번지다보니 제품 운영에 쉽지 않겠다고 생각이 들었다.

 

그 외에도 많은 장점이 있지만 서비스 간 독립성이 굉장히 크게 느껴졌기 때문에 전환하기로 결정했다.

 

설계한 Microservice 구조

마이크로서비스를 구현해보기 전에 Microservice 강의를 수강하고 설계해본 구조는 다음과 같다.

 

앞으로 어떤식으로 구조가 변경될지 무슨 고민을 하게되고 해결해나가게될지 너무나도 흥미로울 것 같다.

 

API Gateway를 먼저 만들어야 기존의 정상 서비스는 유지하며 전환이 가능할 것 같다.

시작해보자 :)