👋 환영합니다! 쥐뿔도 모르는 개발자가 백엔드, 인프라, 트러블슈팅 등의 경험을 공유하고 기록하는 개발 블로그입니다 ✨
Backend

Backend

배포만 하면 느려지는 API, JVM Cold Start 문제 85% 개선하기

들어가며 최근 저희 팀은 Docker Compose 기반의 운영 환경을 쿠버네티스로 전환했습니다. 확장성, 자동화, 무중단 배포 등 MSA 환경에서 필요한 기능들을 제대로 활용하기 위한 선택이었죠. 관련 글: 개발 서버도 없던 팀이 GitOps를 갖추기까지: 맨땅에서 시작한 쿠버네티스 도입기 전환 후 메트릭을 살펴보다가, 묘한 패턴을 발견했습니다. 배포 직...

더보기 →

2025년 11월 18일

MySQL 컬럼의 타입을 bigint에서 varchar로 변경했더니 8배나 느려졌어요...! : 프로시저 성능 저하 트러블 슈팅

들어가며 안녕하세요. 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 3년차 백엔드 개발자 정정일입니다. 오늘은 저희 서비스에서 발생한 흥미로운 성능 이슈와 해결 과정을 공유하려고 합니다. MySQL 프로시저 하나가 갑자기 8배나 느려진 문제를 해결하면서, DB에 존재하는 다양한 문제들을 직면하게 됐는데요. 읽고 계신 분들도 문제를 따라가며 원인이 뭔지 추측...

더보기 →

2025년 10월 20일

😨 입금된 돈이 사라졌다? 계좌 잔고 정합성 검증 배치, Tasklet에서 Chunk & Partitioning으로의 전환기

안녕하세요. 저는 대출 및 투자 연계 플랫폼에서 백엔드 개발자로 근무 중인 2년 차 개발자 정정일입니다. 운영 중인 회사 서비스에서 내부적으로 데이터 정합성을 검증하던 중, 트랜잭션 처리 시간과 배치 작업의 비효율성으로 은행 계좌 잔고와 서비스 내부 포인트(Point)의 불일치로 인해 정합성 검증 작업이 실패하거나, 잘못된 노티가 발송되는 경우가 있었습니다...

더보기 →

2024년 12월 24일

🚀 외부 API 성능 개선기: Look-aside 캐시로 5100ms ➔ 57ms 단축

안녕하세요. 저는 현재 대출 및 투자 연계 플랫폼에서 백엔드 개발자로 근무 중인 2년 차 개발자입니다. 이번 글에서는 Look-aside 캐시 패턴을 활용하여 외부 API 성능을 개선한 경험을 공유하려고 합니다. 이 과정에서 제가 직면했던 문제들은 단순하지 않았습니다. API 호출의 지연, 중복 호출로 인한 비용 문제, 그리고 사용자 경험의 저하 등 다양한...

더보기 →

2024년 12월 16일

DB Replication 복제 지연 해결

이번에 회사에서 직면했던 복제지연 문제에 관한 내용을 공유하고자 글을 남깁니다. 문제 발생 저희 회사에서는 database replication을 통해 부하를 분산하여 성능을 높히는 방식을 사용하고 있습니다. 시스템은 Master-Slave 구조의 Active-Active 이중화로 구성되어 있으며, ProxySQL을 통해 SELECT 문은 Slave로, I...

더보기 →

2024년 11월 15일

[트러블슈팅] QueryDSL StackOverflowError 탐방기

이번에 회사에서 직면했던 Querydsl StackOverflow에 관한 내용을 공유하고자 글을 남깁니다. 문제 발생 오늘도 어김없이 문제는 Slack 메시지로부터 시작합니다. 메시지를 받자마자 어라? 라는 반응을 할 수밖에 없었습니다. StackOverflow? 서버에 재귀식으로 구현된 코드가 있었던가? StackOverflow란 여러분들 모두 잘 알고 ...

더보기 →

2024년 3월 15일

[트러블슈팅] Kubernetes Pod Scale In 과정에서 실패한 Graceful Shutdown, 소실된 비동기 로직 탐색 여정

이번에 회사에서 직면했던 실패한 Graceful Shotdown에 관한 내용을 공유하고자 글을 남깁니다. 문제 발생 평소에는 예외상황이나 문제상황들을 Slack으로 많이 접하는 편인데요. 오늘은 평소와 다르게 문제를 접하게 됐습니다. 이번 문제는 백오피스 사용자의 문의로부터 시작됩니다. “데이터가 하나가 안맞는 거 같아요…!” 바로 부랴부랴 데이터를 확인해...

더보기 →

2024년 2월 9일

[트러블슈팅] JPA, Mybatis 동시 사용시 발생할 수 있는 HikariCP Dead lock 해결 여정 ( feat.OSIV )

이번에 회사에서 직면했던 관련 HikariCP Dead lock 문제에 대해 공유하고자 글을 남깁니다. 문제 발생 오늘도 어김없이 문제인지는 Slack 메세지로부터 시작합니다. Stack trace 중 일부 발췌 Caused by: org.apache.ibatis.exceptions.PersistenceException: ###Error querying d...

더보기 →

2024년 1월 9일

Spring batch job 동시 등록 Deadlock 문제 직면 ( Deadlock accessing creating a job on sqlserver when multiple jobs start at once )

이번에 제가 회사에서 직면했던 Spring batch 관련 문제에 대해 공유하고자 글을 남깁니다. 문제 발생 해당 문제는 에러 Slack 메세지로부터 시작됩니다. 회사 Batch 서버에서 Deadlock이 발생했다는 Stack trace였습니다. 당연하게도 Deadlock은 서비스에 심각한 영향을 줄 수 있었기 때문에 지체없이 문제를 파악하기 시작했고 로그...

더보기 →

2023년 11월 20일

자바 POI를 이용한 엑셀다운로드 공용 Util 클래스 만들기

거창한 내용은 아니지만 몇달전 회사에서 경험했던 것을 공유하고자 합니다. 시작은 사내 관리자들이 사용하는 백오피스에서의 end user, 즉 회사 동료분들에게서의 문의사항에서 시작됐습니다. 문의사항은 다음과 같았습니다. 특정 Row수가 넘어가면 Excel 다운로드가 안되거나 이상하게 돼요…! 현재 우리 회사에서는 제가 입사하기 이전부터 기존 PHP로 이루어...

더보기 →

2023년 11월 19일