프로젝트
지마켓지마켓 · 옥션 통합 백엔드

회원 도메인 공통 모듈화

DB는 이미 하나였지만 API는 사이트마다 따로 개발하던 구조를, 공통 모듈과 사이트별 모듈을 조합해 배포하는 구조로 바꾼 팀 프로젝트입니다. 그 위에서 제휴 · 인증 모듈을 개발하고, 팀이 쓰는 Gravitee API 게이트웨이로 서비스별 호출부를 분산했습니다.

API 게이트웨이로 인증 · 권한 검증과 라우팅을 한곳에

기간
2025 — 현재
팀
팀 공동 설계
역할
제휴 · 인증 모듈 개발 · 게이트웨이 라우팅 구성

DB가 하나라고 개발이 한 번은 아니었다

지마켓과 옥션은 통합 DB를 쓰고 있었지만 API 계층은 나뉘어 있었습니다. 구조가 같은 기능도 사이트마다 두 번 만들고 두 번 검증해야 했습니다. 팀에서 회원정보 · 로그인 · 캐싱 API를 공통 모듈과 사이트별 모듈로 나누고, 필요한 모듈을 조합해 사이트별 서비스로 배포하는 구조를 함께 설계했습니다.

제휴·인증 모듈에서는 함께 재사용할 기능과 사이트별로 달라야 하는 정책을 나눴습니다. 코드 모양만 비슷하다고 합치면 한쪽 정책 변경이 다른 사이트에도 영향을 줄 수 있으므로, 업무 의미와 변경 이유를 기준으로 공통화 범위를 설명할 수 있습니다.

내가 맡은 자리

이 구조 위에서 제휴 · 인증 모듈을 주로 개발했습니다. 전체 아키텍처는 팀 공동 작업이고, 제 판단이 들어간 범위는 제휴와 인증 모듈 안에서 어떤 기능을 공유하고 어떤 정책을 사이트별로 남길지 정한 부분입니다.

서비스가 분화되면서 호출자 인증 · 권한 검증을 서비스마다 반복하기 어려워져, 팀이 이미 쓰고 있던 Gravitee API 게이트웨이에 서비스별 라우팅을 구성해 호출부를 분산했습니다. 호출자 인증을 게이트웨이로 모으더라도 특정 회원 데이터에 접근해도 되는지 같은 도메인 권한은 애플리케이션이 따로 판단해야 한다는 경계를 의식했습니다.

지금 상태

프로덕션에 배포되어 운영 중이고, 새 연동을 붙일 때 공통 모듈을 재사용하는 기반이 생겼습니다. 공수를 얼마나 줄였는지 측정한 수치는 없어서, 그 부분은 재사용된 사례로만 설명합니다. 재사용의 반대편에는 공통 모듈 결함이 두 사이트에 함께 영향을 줄 수 있다는 비용도 있습니다.

구조와 구현

같은 모듈을 조합해 사이트별 회원 서비스로 배포합니다

같은 모듈을 조합해 사이트별 회원 서비스로 배포합니다호출자 요청은 Gravitee API 게이트웨이에서 호출자 인증과 라우팅을 거쳐 지마켓·옥션 회원 서비스로 갑니다. 두 서비스는 공통, 통합, 제휴·인증 모듈을 함께 쓰고 사이트 정책 모듈만 다릅니다. 두 서비스는 통합 Oracle을 공유합니다. 제휴·인증 모듈은 제가 주로 개발했고, 전체 구조는 팀 공동 설계입니다. 실제 인스턴스와 네트워크 구성은 생략했습니다.지마켓·옥션 앱·웹내부 서비스API 게이트웨이Gravitee · 호출자 인증 · 라우팅지마켓 회원 서비스공통회원정보 · 로그인 · 캐싱지마켓 정책통합두 사이트 함께제휴 · 인증제가 주로 개발옥션 회원 서비스공통회원정보 · 로그인 · 캐싱옥션 정책통합두 사이트 함께제휴 · 인증제가 주로 개발같은 모듈사이트별통합 Oracle데이터는 이미 하나였고나뉜 것은 API 계층게이트웨이는 호출자를 확인하고, 회원 데이터 접근 권한은 각 서비스가 판단합니다.같은 모듈을 조합해 사이트별 회원 서비스로 배포합니다호출자 요청은 Gravitee API 게이트웨이에서 호출자 인증과 라우팅을 거쳐 지마켓·옥션 회원 서비스로 갑니다. 두 서비스는 공통, 통합, 제휴·인증 모듈을 함께 쓰고 사이트 정책 모듈만 다릅니다. 두 서비스는 통합 Oracle을 공유합니다. 제휴·인증 모듈은 제가 주로 개발했고, 전체 구조는 팀 공동 설계입니다. 실제 인스턴스와 네트워크 구성은 생략했습니다.지마켓·옥션 앱·웹 · 내부 서비스API 게이트웨이 · Gravitee호출자 인증 · 라우팅지마켓 회원서비스공통지마켓 정책통합제휴 · 인증옥션 회원서비스공통옥션 정책통합제휴 · 인증통합 Oracle점선으로 이은 모듈은 두 서비스가 공유제휴 · 인증 모듈은 제가 주로 개발회원 데이터 권한은 각 서비스가 판단
두 서비스가 같은 모듈을 공유하고 사이트 정책 모듈만 다르게 조합합니다. 전체 구조는 팀 공동 설계이며, 실제 인스턴스와 네트워크 구성은 생략한 개념도입니다.
구현 범위 · 사용 기술
  • Java
  • Spring Boot
  • Gravitee API Gateway
  • Oracle
  • MongoDB
  • Redis
  • 공통 모듈사이트와 무관하게 같은 의미를 갖는 회원 · 인증 기능
  • 사이트별 모듈지마켓 · 옥션 각각의 정책
  • 통합 모듈두 사이트를 함께 다루는 기능
  • 조합 배포필요한 모듈을 묶어 사이트별 서비스로
  • API 게이트웨이인증 · 권한 검증, 멀티테넌시 라우팅, 모니터링

돌아보면

사이트별 차이는 별도 모듈로 남기고 공통 기능을 조합해 배포하는 팀 구조에 맞춰 제휴·인증 모듈을 구현했습니다.

회사 프로젝트의 소스 코드는 공개하지 않습니다. 구조도는 업무 흐름을 설명하기 위한 개념도입니다.