Skip to content
/ tess Public

토스를 모티브로 한 핀테크 서비스

Notifications You must be signed in to change notification settings

f-lab-edu/tess

Repository files navigation

토스를 모티브로 한 핀테크 백엔드 개발

간단한 계좌, 거래 기능에 관한 API를 만든 후 테스트 코드 작성, 성능테스트 등을 학습하고 <이펙티브 자바>, <도메인 주도 개발 시작하기> 등 서적에서 학습한 내용을 적용하여 코드를 작성했습니다.

실행방법

./gradlwe build
cd build/libs
java -jar tess-0.0.1-SNAPSHOT.jar

REST DOCS

build 파일 실행 후 localhost:8080/docs/index.html

사용기술

Java 11
Spring Boot 2.7.2
MySQL 8.0

DB ERD

tess_erd

테스트 커버리지 측정

테스트커버리지

캐싱 & 성능테스트

100명, 1000명의 user가 동시접속 할 때를 가정하여 송금하기와 계좌전체조회하기 API에서 성능테스트를 진행했습니다. 계좌 전체조회하기에는 캐싱을 적용했습니다.

초기 테스트에서 100명일 때 5%, 1000명일 때 30%였던 실패율을 예외처리 후 0%로 감소시켰습니다.

0) 초기 테스트 때의 실패율 그래프 -> 예외처리 후 0% 실패율로 감소 (1,2 그래프)

100명_성능테스트 1000명 성능테스트2

1) 100명 user (캐싱 초기 적용) - 평균 RPS 33.9

100명 성능

cf) 성능 테스트 하면서 캐싱 적용
캐시적용ㅇ

초당 요청수(RPS)는 평균 약 33.9이고, 응답시간이 약 30ms 이하로 안정적으로 유지됩니다. 계좌 전체조회하기에 대한 캐싱이 적용 후, 테스트 API에 대한 95% 응답시간의 최대값이 87ms에서 20ms정도로 급격히 감소했습니다.


2) 1000명 user - 평균 RPS 304

240729 성능 1000명

초당 요청수(RPS)는 평균적으로 약 304입니다. 평균 응답 시간은 100ms 이하로 유지됩니다.


About

토스를 모티브로 한 핀테크 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages