[회고] 서비스 모듈화

태그
Review
3 more properties

배경 / 문제

기존의 모놀리식 구조로 개발된 전자 결재 프로그램은 아래와 같은 문제가 점차 심화되었다.
결합도 높음: 결재 로직이 다른 비즈니스 로직과 강하게 결합되어 수정 시 사이드 이펙트 발생
코드 가독성: 결재 관련 코드가 여러 패키지에 분산되어 파악이 어려움

해결 방안 검토

1.
마이크로서비스로 완전 분리
a.
결재 시스템을 별도 서비스로 완전히 분리하는 방안
b.
독립성은 확보되지만 인프라 복잡도가 크게 증가하고, 현재 팀 규모 대비 과도한 복잡성이 우려됨
2.
멀티 모듈 구조로 분리
a.
결재 부분만 별도 모듈로 분리하여 재사용성과 독립성을 확보
b.
적절한 수준의 격리와 재사용성을 제공하면서도 관리 복잡도는 적절한 수준으로 유지

구현

멀티 모듈 구조로 결재 부분을 분리하기로 결정했다.
이를 통해 결재 관련 코드가 명확하게 분리되어 유지보수성 향상되었다.

회고

다른 비즈니스 서비스 또한 순차적으로 멀티 모듈 구조로 전환 예정이다.