프로젝트 배경
1) 문제점 - 스마트팜 농가가 기존 유통 플랫폼에 의존하여 높은 수수료 부담 발생 - 소비자가 농산물의 생산지·재배 환경 등 신뢰할 수 있는 정보를 확인하기 어려움 - 소규모 농가는 자체 온라인 판매 채널을 구축할 기술력·비용이 부족 - 농산물 특성(신선도, 계절성, 한정 수량)을 반영한 재고·주문 관리가 어려움 2) 프로젝트 목표
프로젝트 성과
동시 주문 시 재고 불일치 0건 달성
비관적 락(Pessimistic Lock) 적용으로 다수의 동시 주문이 발생해도 재고가 정확히 차감되어 초과 판매 없이 재고 정합성 100%를 유지합니다.
결제 장애 대응 커버리지 50+ 에러코드 매핑
토스페이먼츠 50개 이상의 에러코드를 분류·매핑하고, 멱등키 기반 3분 주기 자동 복구 스케줄러를 적용하여 결제 누락을 방지합니다.
마이크로서비스 분리로 서비스 간 장애 영향도 0%
쇼핑몰·결제·재고를 독립 서비스로 분리하고 Kafka 이벤트 기반으로 통신하여, 한 서비스에 장애가 발생해도 나머지 서비스는 정상 운영됩니다.
결제 서비스 처리 성능 향상 (리액티브 스택 적용)
결제 서비스에 Spring WebFlux + R2DBC 리액티브 스택을 적용하여 논블로킹 비동기 처리로 동일 서버 자원 대비 높은 동시 처리량을 확보했습니다.
Transactional Outbox 패턴으로 메시지 유실 0건
결제 이벤트를 DB 트랜잭션과 함께 Outbox 테이블에 저장 후 Kafka로 발행하여, 네트워크 장애 시에도 이벤트가 누락 없이 전달되는 구조를 구축했습니다.
핵심 기능
진행 단계
기획 및 아키텍처 설계
2026.01.
기능 요구사항 정의, 화면 흐름 설계, 마이크로서비스 3개(쇼핑몰·결제·재고) 분리 구조 및 DB 스키마(11+ 도메인) 설계
프로젝트 상세
1) 포트폴리오 소개 스마트팜 농가와 소비자를 직접 연결하는 농산물 직거래 이커머스 플랫폼 개발. 생산자는 직접 상품을 등록·관리하고, 소비자는 신선한 농산물을 검색·결제·배송 추적까지 원스톱으로 이용할 수 있는 서비스입니다. 2) 작업 범위 • 기획 • 화면 설계 • UI/UX 디자인 • Front-end 개발 • Back-end • 개발(마이크로서비스 3개)







