일 1억 건 이상의 트래픽을 처리하는 커머스 플랫폼에서 Java/Spring 기반 MSA 전환과 Kafka 이벤트 드리븐 아키텍처를 설계해 온 백엔드 개발자입니다. Public API의 Java 전환 아키텍처 설계로 평균 응답 시간을 100ms에서 20ms로 개선했고, 실시간 할인가 연동 시스템으로 배치(4시간 주기) 대비 반영 지연을 평균 2초 수준으로 단축했습니다. 팀의 기술 방향 설정, 아키텍처 의사결정, 코드 리뷰 문화 개선(AI 기반 자동 리뷰 도입으로 시니어의 반복 지적 50% 감소) 등 조직 차원의 임팩트를 만들어 왔습니다.
현재는 Java/Spring 생태계에서 확장성(아키텍처)과 운영성(장애/성능/테스트)을 함께 개선하는 방향으로 역량을 집중하고 있습니다.
📞 Contact
🛠 기술 스택
Backend (Production Experience)
Java/Spring Ecosystem
- Spring Boot, Spring Cloud, Spring Data JPA(Hibernate), Querydsl, MyBatis
- DDD(도메인 주도 설계), CQRS 패턴, MSA 아키텍처 설계 및 구축
AbstractRoutingDataSource기반 멀티테넌트 동적 라우팅 및 HikariCP 커넥션 풀 최적화
Event-Driven & Python
- Apache Kafka Consumer/Producer 기반 대용량 비동기 이벤트 드리븐 아키텍처 설계
- AWS Lambda 기반 Serverless 애플리케이션 개발 및 CI/CD 자동화 스크립트 구축
PHP (Legacy Migration & E-Commerce)
- 대규모 모놀리식 EC 솔루션 아키텍처 분석 및 Java/Spring 기반 MSA로의 점진적 전환
- CodeIgniter, Slim Framework, Composer
Infrastructure & DevOps
- Container/Orchestration: Kubernetes, Docker
- CI/CD: Jenkins, AWS CodeDeploy
- Cloud: AWS (Lambda, SQS, CloudFront, CloudFormation)
Database & Messaging
- RDBMS: MySQL, PostgreSQL
- NoSQL/Cache: Redis, Elasticsearch
- Messaging: Kafka
Software Engineering
- TDD (JUnit, PHPUnit), Adapter Pattern, Interface Design
- Git, GitLab (Private Repository for jar packaging)
📝 경력사항
카페24
EC 솔루션 개발팀 Senior Backend Developer
주요 업무
- 대규모 트래픽(일 1억 건 이상) Public API의 Java/Spring Boot 전환 아키텍처 설계 및 기술 검증(POC) 주도
- Python/Kafka 기반 비동기 이벤트 드리븐 아키텍처 설계 및 구현 (실시간 할인가 연동 파이프라인)
- 다중 도메인 의존성 분리 및 외부 시스템 연동 표준화 설계 — 어댑터 및 팩토리 패턴 기반 확장 구조 구축
- 팀 엔지니어링 생산성 개선 이니셔티브 주도: LLM 기반 CI/CD 자동 코드 리뷰 파이프라인 개발 및 도입 (팀 10명)
기술 스택
- Backend: PHP, Java(Spring Boot, JPA), Python
- Infrastructure: Kubernetes, Jenkins, AWS
- Database: PostgreSQL, Elasticsearch, Redis, Kafka
주요 성과
- Public API Java 전환 아키텍처 검증: CQRS 패턴(Command/Query 분리) 및 멀티테넌트 동적 DB 라우팅을 적용하여 평균 응답 시간 1/5 수준으로 개선 (100ms → 20ms, 80% 단축)
- 외부 연동 확장성 확보: 어댑터 패턴 기반 리뷰 연동 아키텍처 설계로 도메인 간 결합도를 낮추고 신규 플랫폼 추가 개발 공수 70% 단축 (2주 → 3일)
- 실시간 데이터 파이프라인 구축: Kafka 기반 이벤트 드리븐 아키텍처 도입으로 할인가 반영 지연을 기존 배치 처리(4시간 주기) 대비 평균 2초 수준으로 단축
- 코드 품질 및 리뷰 문화 혁신: AI 코드 리뷰 자동화 도입으로 시니어 개발자의 반복적 지적 50% 감소, 리뷰어 컨텍스트 스위칭 비용 90% 이상 절감 (평균 5분 → 30초 이내)
와그트래블
테크팀 Backend Developer
주요 업무
- 액티비티 OTA 플랫폼의 백엔드 API 개발 및 AWS 인프라 관리
- PHP 모놀리식 → Java MSA 전환 프로젝트 (쿠폰 서비스)
- 해외 업체 SOAP API 연동 및 RESTful API 전환
- Serverless 아키텍처 도입 (AWS Lambda + SQS)
기술 스택
- Backend: PHP, Java(Spring Boot, JPA), Node.js(Typescript)
- Infrastructure: AWS (Lambda, SQS, CloudFront, CloudFormation), Jenkins
- Database: MySQL(MariaDB), Redis
주요 성과:
- 모놀리식 쿠폰 서비스를 MSA로 전환하여 서비스 간 결합도 감소
- Lambda@Edge 기반 이미지 리사이징으로 웹페이지 로딩 속도 50% 개선
- 서버리스 아키텍처 도입으로 단시간 60-80만 요청 처리 가능한 시스템 구축
- Composer 도입으로 Git 저장소 사용량 100MB 감소
💻 프로젝트
Public API, PHP to Java 전환 프로젝트 (2022.05 ~ 2022.11)
카페24
배경 및 문제
일 평균 1억 건 이상의 요청을 처리하는 핵심 Public API의 PHP 모놀리식 구조에서, 수백만 쇼핑몰(멀티 테넌트) 환경의 고정 DB 커넥션풀 한계와 읽기/쓰기 혼재로 인한 응답 지연(운영 환경 평균 300ms) 병목이 발생했습니다.
핵심 의사결정 및 구현
- 멀티테넌트 동적 DB 커넥션 라우팅:
AbstractRoutingDataSource를 확장하고ThreadLocal기반 Context Holder로 쇼핑몰 ID를 관리해 요청별 동적 DataSource 라우팅을 구현했습니다. 메모리 사용량 증가와의 트레이드오프 끝에 HikariCP 커넥션풀을 동적 생성·캐싱하여 동시 처리 성능을 확보했습니다.
- CQRS 패턴 및 JPA 최적화: Command(쓰기)는 JPA(Hibernate)로 도메인 중심 설계를 적용하고, Query(읽기)는 Querydsl과 읽기 전용 Replica DB로 분리해 Master DB 부하를 50% 절감했습니다.
- MSA 분리 및 공통 모듈 표준화: 모든 API 요청에 필수적인 '쇼핑몰 메타데이터 조회' 도메인을 별도 MSA로 분리(Spring Cloud Eureka, Feign Client)해 결합도를 낮추고, 인증/로깅/예외처리 공통 모듈을 Private GitLab Repository에 jar로 패키징해 Gradle 의존성 배포를 자동화했습니다.
정량적 성과
- POC 환경에서 평균 응답 시간 80% 단축 (100ms → 20ms), Kubernetes 기반 오토스케일링으로 트래픽 급증 시 무중단 대응 구조 확립
- JPA Fetch Join 및 EntityGraph 적용으로 N+1 문제를 해결해 쿼리 수 90% 감소
- 회사 전략 변경으로 전면 전환은 보류됐으나, 점진적 마이그레이션(Strangler Fig Pattern)의 유효성을 입증하고 향후 전환 시 참고할 레퍼런스 아키텍처로 정리
기술 스택: Java 17, Spring Boot 2.7.4, Spring Cloud (Eureka, Feign), JPA(Hibernate), Querydsl, HikariCP, Kubernetes, GitLab CI/CD
실시간 할인가 연동 서비스 개발 (2024.03 ~ 2024.05)
카페24
배경 및 문제
메타, 유튜브 등 외부 채널에 상품 할인가를 제공하는 기존 배치 시스템(4시간 주기)은 프로모션 혜택의 시작/종료 시점에 발생하는 실시간 가격 변동을 즉각 감지하고 전파할 수 없었습니다.
핵심 의사결정 및 구현
- 스케줄러 결합형 Kafka 이벤트 스트림: 혜택 시작/종료 시점에 대량 트래픽이 코어 커머스 시스템으로 일시에 몰리는 것을 방지하기 위해, 스케줄러가 변경 시점 이벤트를 발행하고 독립된 Consumer가 대상 상품 가격을 조회해 외부로 전송하는 비동기 아키텍처를 설계했습니다.
- 무결성 및 느슨한 결합: 기존 PHP 코어 애플리케이션 수정 없이 독립 배포가 가능한 구조를 만들고, Kafka At-least-once 전략과 Consumer 측 멱등성 설계를 결합해 중복 처리와 메시지 유실을 방지했습니다.
정량적 성과
- 할인가 외부 채널 반영 지연을 기존 4시간(배치)에서 평균 2초 이내로 단축
- 이벤트 처리 성공률 99.7% (Kafka 메시지 유실 0건)
- 향후 Java 생태계와의 일관성을 위해 Spring Cloud Stream 기반 구조로 개선하는 방향을 검토
기술 스택: Python, Kafka (Producer/Consumer)
외부 리뷰 솔루션 연동 — 확장 가능한 어댑터 아키텍처 설계 (2020.12 ~ 2021.02)
카페24
배경 및 문제
자체 리뷰 시스템 외에 다양한 외부 리뷰 플랫폼을 통합 관리하려는 니즈가 증가했으나, 플랫폼마다 API 스펙, 인증 방식, 페이징 및 데이터 포맷이 상이해 연동 때마다 코어 로직이 수정되는 강한 결합 문제가 있었습니다.
핵심 의사결정 및 구현
- Adapter 및 Factory 패턴 기반 도메인 격리:
ReviewAdapter인터페이스로 플랫폼별 인증/페이징/포맷 차이를 추상화하고, 런타임에 Factory가 어댑터를 선택해 공통 파이프라인(정규화·검증·저장)을 타도록 개방-폐쇄 원칙(OCP)을 적용했습니다.
- 테스트 자동화: 외부 API 의존성과 스펙 변경 리스크를 제어하기 위해 Mock 기반 유닛 테스트(TDD)와 회귀 시나리오를 표준화했습니다.
정량적 성과
- 신규 리뷰 플랫폼 추가 시 개발 공수 70% 단축 (기존 2주 → 3일), 운영 기간 중 주요 연동 장애 0건
- 쇼핑몰 운영자가 개발자 개입 없이 연동을 설정할 수 있는 셀프 서비스 구조 안착
기술 스택: PHP, PHPUnit (TDD), Adapter & Factory Pattern
AI를 활용한 코드 리뷰 자동화 (2024.09 ~ 2025)
카페24
배경 및 문제
팀원 10명이 주 평균 20건의 MR을 생성하는 환경에서, 네이밍·주석·단순 예외 처리 등 기본 품질 이슈 지적에 시니어 개발자의 리소스가 과도하게 소모되고, 연관 Jira/Wiki를 찾아보는 컨텍스트 스위칭 비용이 컸습니다.
핵심 의사결정 및 구현
- 이벤트 기반 자동화 파이프라인: GitLab MR 생성/업데이트 시 Webhook으로 Jenkins 파이프라인을 트리거해 변경 Diff와 연관 Jira/Wiki 문맥을 자동 추출하도록 구현했습니다.
- 멀티 LLM 전략 및 프롬프트 표준화: 사내 언어별(Java, PHP, Python) 코딩 컨벤션과 보안 가이드라인을 Few-shot 예시와 함께 프롬프트로 구성하고, GitLab Suggestion API를 통해 인라인 코드 수정 제안을 자동 등록했습니다.
- False Positive 튜닝: 초기 불필요한 지적으로 인한 피로도를 해결하기 위해 예외 케이스를 네거티브 프롬프트로 지속 반영해 오탐율을 40%에서 10%로 감소시켰습니다.
정량적 성과
- 시니어 개발자의 반복적 기본 이슈 지적 50% 감소, MR 요약 제공으로 리뷰어 컨텍스트 스위칭 시간 90% 이상 단축 (평균 5분 → 30초 이내)
- 주 평균 20건 MR 자동 리뷰 처리 성공률 98%, 팀 만족도 80% (10명 중 8명 긍정 응답)
- 향후 팀 고유 도메인 맥락 반영을 위해 과거 리뷰 이력을 VectorDB에 색인하는 RAG 구조로 고도화 추진
기술 스택: Python, GitLab Webhook, Jenkins, Anthropic Claude & OpenAI API, VectorDB
OTA 플랫폼 모놀리식 to Java MSA 전환 및 서버리스 아키텍처 구축 (2018.12 ~ 2019.08)
와그트래블
- 쿠폰 도메인 Java MSA 분리: 메인 PHP 모놀리식에 강하게 결합되어 배포 영향도가 컸던 쿠폰 시스템(발급/조회/검증)을 Spring Boot + JPA 기반 독립 MSA로 분리하고, Netflix Zuul(API Gateway) 및 Retrofit 기반 서비스 간 라우팅 환경을 구축해 도메인 결합도를 해소했습니다.
- 대용량 트래픽 대응 서버리스 구축: 외부 예약 API 연동 및 이미지 처리 파이프라인에 AWS Lambda, SQS, Lambda@Edge를 도입해 단시간 내 60~80만 건 이상의 요청을 처리할 수 있는 비동기 시스템을 구축하고, 동적 이미지 리사이징으로 파일 업로드 API 응답 시간 50% 개선 및 이미지 용량 1/3 절감을 달성했습니다.
- 레거시 모던화 및 외부 연동 표준화: 해외 업체의 XML SOAP 모듈 의존성을 걷어내고 경량 HTTP 통신으로 리팩토링했으며, 레거시 환경에 Composer 패키지 매니저와 네임스페이스를 도입해 Git 저장소 용량 100MB 절감과 MSA 전환 기반을 마련했습니다.
기술 스택: Java, Spring Boot, JPA, Netflix Zuul, Node.js (TypeScript), AWS (Lambda, SQS, CloudFront, CloudFormation), PHP