안녕하세요! 저는 백엔드 개발자로서 비즈니스 가치와 성능 최적화를 동시에 추구하는 개발자입니다.
저는 대규모 트래픽 처리와 실시간 데이터 처리문제를 해결하는 것에 열정이 있습니다.
복잡한 시스템을 깔끔하게 최적화하고, 동시에 유저 경험을 개선하는 것을 목표로 하고 있습니다.
"성능은 단지 숫자가 아니라, 사용자와의 첫 만남에서의 인상이다."
제가 가장 중요하게 여기는 철학 중 하나입니다.
- 🏃♂️ 현재: 백엔드 개발에 집중하며, 실시간 처리와 최적화에 도전하고 있습니다.
- 💬 성능 테스트: 단순히 코드를 짜는 것이 아니라, 어떻게 하면 더 나은 성능을 낼 수 있을지 고민합니다.
- 🚀 미래 목표: 대규모 분산 시스템 설계 및 오픈소스 프로젝트의 기여를 지속적으로 확장하고 싶습니다.
2024.07 ~ 2024.10
Stack: Spring Boot, PostgreSQL, JPA(Hibernate), Caffeine, GCP, Swagger
"Now, Here"는 이벤트에 참여한 사용자들을 실시간으로 매칭해주는 플랫폼입니다.
이 프로젝트에서 대규모 트래픽 처리와 DB 성능 최적화를 주도하며, 실시간 서비스의 효율성과 안정성을 높이는 데 집중했습니다.
"성능은 단순한 속도 측정이 아니라, 사용자 경험을 좌우하는 핵심 요소다."
- 실시간 매칭 알고리즘 최적화: 동적 가중치 조정과 DB 분석 자동화를 통해 고객 중심의 개발을 실현했습니다.
- 대규모 트래픽 대응 아키텍처 설계:
- Master-Slave DB 아키텍처를 설계해 로드밸런싱을 구현하고, 고가용성을 확보했습니다.
- Event ID 기반 파티셔닝을 적용하여 대용량 데이터를 효율적으로 처리하고, 트랜잭션 처리 속도를 개선했습니다.
- DB 성능 최적화:
- 응답 시간을 7.5초에서 4.4초로 41% 개선.
- Caffeine 캐시를 도입하여 배너 매칭 목록 조회 시간을 88% 단축.
- 복합 인덱스 설계를 통해 매칭 페이지 응답 시간을 43% 개선.
- HikariCP 연결 풀 최적화로 전체 시스템 성능을 39% 향상.
- 성능 테스트 및 시스템 안정성 검증:
- 500명 사용자, 25만 매칭 데이터 처리 시나리오 기반으로 대규모 동시 접속 시뮬레이션을 수행해 시스템의 안정성을 검증했습니다.
- 3단계 최적화: HikariCP 설정 → Caffeine 캐싱 → 인덱싱 및 트랜잭션 최적화를 통해 지속적인 성능 개선을 달성했습니다.
이 프로젝트를 통해 대규모 트래픽 처리와 성능 최적화라는 백엔드의 핵심 과제를 다루며
안정적인 시스템 설계를 위해 깊이 있는 기술적 경험을 쌓을 수 있었습니다.
🔗 프로젝트 링크
2024.10 ~ 2024.11
Stack: Redis, Redis Streams, K6, Spring Boot, Java, MySQL
"Naviya"는 대규모 트래픽을 안정적으로 처리하면서 자녀 성향을 기반으로 한 맞춤 콘텐츠를 추천하는 이벤트 플랫폼입니다.
이 프로젝트에서 대규모 트래픽 관리와 동시성 문제 해결을 위한 Redis 기반의 아키텍처 설계를 주도하며, 성능 최적화에 집중했습니다.
"안정적이고 효율적인 트래픽 처리는 시스템 신뢰성과 사용자 경험을 좌우하는 핵심 요소다."
-
Redis 기반 실시간 응모 및 중복 방지 시스템 구축:
- Redis의 Set 자료형을 활용하여 중복 응모를 방지하고, 시간복잡도를 O(1)로 최적화해 응답 성능을 향상했습니다.
- Redis Streams와 Lua 스크립트를 통해 실시간 이벤트의 고부하 분산 처리와 원자적 응모 처리를 구현했습니다.
-
대규모 트래픽 대응 아키텍처 설계:
- 1초에 10만 트래픽을 10초간 처리할 수 있는 Redis 기반 아키텍처를 설계하고, 응답 시간을 27초에서 1.3초로 크게 단축했습니다.
- Lua 스크립트를 통한 원자적 응모 처리로 동시성 문제를 해결하고, 이벤트 응모의 안정성을 확보했습니다.
-
성능 테스트 및 시스템 최적화:
- K6 부하 테스트를 통해 성능 목표를 수립하고 시나리오를 작성하여 성능을 지속적으로 개선했습니다.
- 초기 성능 테스트 결과인 성공률 73%, 최대 응답 시간 27초를 최적화 후 성공률 100%, 최대 응답 시간 1.3초로 크게 개선했습니다.
-
비동기 큐 시스템 적용:
- Redis Streams 기반의 비동기 큐 시스템을 구축해 실시간 트래픽의 순차 처리와 고부하 분산을 성공적으로 수행했습니다.
이 프로젝트를 통해 대규모 트래픽 처리와 동시성 문제 해결이라는 백엔드의 핵심 과제를 경험하며,
Redis를 활용한 안정적인 시스템 설계와 성능 최적화의 중요한 경험을 쌓을 수 있었습니다.
🔗 프로젝트 링크
🔗 블로그 링크: Redis 기반 실시간 대규모 트래픽 처리 및 큐 시스템을 활용한 응모 이벤트 파이프라인 구축
2024.01 ~ 2024.07
Stack: Java, Spring Boot, MariaDB, Firebase
SNS 플랫폼에서 성능을 극대화하고, JPA N+1 문제와 엔티티 최적화로 66%~97% 성능 개선을 달성했습니다.
- CI/CD 자동화: GitHub Actions을 통해 AWS EC2 서버에 배포 자동화 구축
- FOF 추천 알고리즘 설계 및 CI/CD 자동화 구축.
- Firebase Cloud Messaging으로 사용자 맞춤형 알림 구현.
🔗 프로젝트 링크
2023.12
Stack: Python, Jupyter Notebook, pandas, numpy
고양시 내에서 고깃집을 창업할 최적의 위치를 데이터 분석을 통해 도출한 프로젝트입니다.
- 금융 데이터를 전처리하고, 다중 회귀 분석을 통해 비즈니스 인사이트 도출.
- 변수 선택법을 적용해 AIC가 낮은 요인을 찾아내고, 매출 예측 모델을 최적화.
🔗 프로젝트 링크
-
성능 최적화: 단순히 속도를 높이는 것이 아니라, 어떤 부분을 개선해야 진짜 성능을 개선할 수 있는지를 파악하는 것이 중요합니다.
- ex) HikariCP, Caffeine 캐시, DB 인덱싱을 통해 응답 시간을 7.5초에서 4.4초로 단축!
-
협업과 커뮤니케이션: 백엔드 개발은 팀워크 없이는 완성되지 않습니다. 오픈소스 기여와 팀 프로젝트에서 효과적인 협업을 경험하고 있습니다.
- 실시간 데이터 처리와 대규모 트래픽 대응에 관한 최신 기술.
- 오픈소스 프로젝트 참여 및 기여.
- 데이터 중심의 AI 시스템 통합.
Category | Technologies |
---|---|
Backend | |
Frontend | |
DevOps & Tools |
- 항상 새로운 도전을 준비합니다. 빠른 러닝 커브로 학습하고,
이를 깊이 있는 고민을 통해 풀어내는 것이 저의 즐거움입니다. - 개발 외에도 웨이트 트레이닝과 파워리프팅으로 몸과 마음을 단련하며, 끊임없는 성장을 추구하고 있습니다.
- 이메일: [email protected]
- 블로그: jun10920.tistory.com
- LinkedIn: www.linkedin.com/in/jun10920