2025/04/24 2

API 성능 병목과 데이터 누락, RabbitMQ 비동기 구조로 해결해보기

운영 중인 앱: 축잘알 테스트 (구글 플레이) 🐇 비동기 처리로 API 성능과 데이터 정확성을 모두 잡을 수 있을까?– 퀴즈 결과 저장 API에 JMeter로 부하 테스트를 걸어봤다혼자 기획하고 개발 한 퀴즈 앱 ‘축잘알 테스트’에서는 사용자가 퀴즈를 풀고 나면 결과를 저장하는 API가 있다. 앱의 특성상, 사용자 수가 많아질수록 가장 자주 호출되는 API가 바로 이 퀴즈 결과 저장 API다. 그리고 단순 조회가 아니라 데이터를 변경하는 API이기도 하다. 그래서 직접 JMeter를 활용해 이 API에 고부하 테스트를 걸어보고, 동기/비동기 구조에 따른 응답 속도와 데이터 정확성을 비교해보기로 했다. 🎯 실험 배경 테스트 대상: 퀴즈 결과 저장 API단일 사용자(nickName: tttt)가 여러..

그냥 코딩 2025.04.24

혼자 만든 앱에 무중단 배포 적용해보기 – Jenkins, Docker, Nginx

운영 중인 앱: 축잘알 테스트 (구글 플레이) 🧭 왜 무중단 배포를 하게 됐을까혼자서 기획하고 개발한 축잘알 테스트 앱은EC2에서 Spring Boot + Docker + Nginx 조합으로 서비스되고 있다.처음에는 그냥 수동으로 배포했다.방법은 아주 단순했다:1. GitHub에 코드 push2. EC2에 SSH 접속해서 git pull3. Docker 이미지 다시 만들고 기존 컨테이너 정리4. 새 컨테이너 띄우고 Nginx 설정 수정 근데 이 과정이 너무 귀찮았다.캐시도 직접 지워야 하고, SSH도 매번 접속해야 했다.그래서 자동화 스크립트를 먼저 만들었고,이후에는 Jenkins + GitHub Webhook으로 자동 배포까지 붙였다.💥 무중단 배포를 결심하게 된 계기새벽에 배포하면서 서버를 잠깐 ..

혼자공부한거 2025.04.24