Skip to content

NHN-YesAladin/yesaladin_coupon

Repository files navigation

yesaladin_coupon

YesAladin Coupon은 YesAladin 서비스의 쿠폰 관련 기능을 제공하는 메시지 기반 마이크로서비스입니다.

Getting Started

./mvnw spring-boot:run

Features

  • MyBatis를 사용하여 쿠폰 Bulk Insert 구현
  • NHN Cloud Log & Crash를 연동하여 모니터링 환경 구축
  • Spring Cloud Config를 연동하여 설정 정보 외부화
  • Spring Scheduler를 이용하여 선착순 발행 쿠폰의 발행 스케쥴링
  • NHN Cloud의 Object Storage를 이용하여 파일 업로드 기능 구현
  • Kafka를 이용하여 메시지 큐 기반의 비동기 시스템 구축
  • 마이크로서비스의 트랜잭션 보장을 위한 시스템 설계
  • Kafka를 이용하여 대량 트래픽에도 안정적인 서비스가 가능한 시스템 설계
    • nGrinder를 사용한 부하테스트에서 쿠폰 발행 API기준 20분간 vUsers 12,000 테스트 통과 (TPS 392, Error Rate 8.9)
    • LoadTest

ERD

ERD

Project Architecture

스크린샷 2023-02-22 오전 10 15 46

CI/CD

스크린샷 2023-02-22 오후 7 24 08

Technical Issue

(있다면 작성해주시고 없으면 Technical Issue는 지우셔도 됩니다.)

Tech Stack

Languages

Java

Frameworks

SpringBoot SpringCloud SpringDataJPA QueryDSL

Build Tool

ApacheMaven

Database

MySQL Redis

DevOps

Kafka NHN Cloud Jenkins SonarQube Grafana

Unit Test

Junit5

형상 관리 전략

Git GitHub

  • Git Flow 전략을 사용하여 Branch를 관리하며 Main/Develop Branch로 Pull Request 시 코드 리뷰 진행 후 merge 합니다. image
  • Main: 배포시 사용
  • Develop: 개발 단계가 끝난 부분에 대해 Merge 내용 포함
  • Feature: 기능 개발 단계
  • Hot-Fix: Merge 후 발생한 버그 및 수정 사항 반영 시 사용

Contributors