김휘래

DEFINE, BUILD, MEASURE

김휘래

정답이 없는 개발 환경에서 트레이드오프를 이해하고 상황에 맞는 의사결정을 내리는 개발자입니다. 제한된 단일 인스턴스에서 분당 10만 건 규모의 푸시를 처리하며 처리량과 정합성, 인프라 비용 사이를 계속 저울질했습니다.

구현에서 끝내지 않고 그 결정이 사용자 경험과 운영에 무엇을 남기는지까지 봅니다. 직접 만든 두 서비스를 실제 사용자에게 열어두고 고쳐왔어요.

경력

2026.06 ~ 재직 중

HAMALAB 백엔드 인턴

2026.06 ~ 재직 중

코리안쌤과 케이톡이 함께 쓰는 공통 회원, 인증인가, 재화 서비스를 개발하고 전반적인 MSA 구조 설계를 맡고 있습니다. 코리안쌤 서비스 전반 개발도 같이 합니다.

  • 두 서비스가 회원과 재화를 공유해야 해서 공통 서버를 뒀습니다. 다만 서비스를 쪼개는 MSA 가 아니라 소유권을 한곳에 모으는 쪽으로 잡았고, 그 경계를 어디에 그었는지 정리했습니다.
  • 인앱결제는 앱과 스토어 웹훅이 같은 건을 거의 동시에 밀어넣습니다. 멱등키부터 원장 Unique 제약까지 네 겹으로 나눠 중복 지급을 끊었습니다.
  • 포인트는 잔액 하나로 두지 않고 append-only 원장과 lot 명세로 나눴습니다. 무상과 유상, 만료일이 섞이면 어느 몫을 먼저 깎을지가 정책이 되기 때문입니다.

만들고 운영한 것

4개

아주이벤트 학교 공지사항 알림 서비스

2025.06 ~ 운영 중 · 4인 (BE 2, FE 2)

50여 개 공지 게시판을 크롤링해 공지와 키워드 구독, 실시간 푸시 알림을 제공합니다.

가입자
466명
MAU
300명
최근 90일 푸시
75,000건
  • FCM 동기 발송으로 서블릿 스레드가 오래 잡히던 것을 콜백 기반 비동기와 전용 스레드 풀로 나눠 P95 를 5.24초에서 2.53초로 줄였습니다. 분당 10만 건 규모를 견딥니다.
  • 서버나 FCM 장애 때 알림이 사라지던 것을 Transactional Outbox 로 바꿔, 10만 건 발송 테스트에서 유실 1,200건이 0건이 됐습니다.
  • 관리자가 공지 전체를 눈으로 훑어 배너를 고르던 일을 AI 추천으로 바꿔 검토 대상을 상위 3~5개로 좁혔습니다.

메일상자 AI 기반 다중 계정 메일 인박스 자동화

2026.03 ~ 진행 중 · 4인 (BE 2, FE 2)

여러 Gmail 계정을 한 인박스에서 보고, 자동 분류와 대화 맥락 기반 답장 초안을 제공합니다.

가입자
322명
MAU
200명
  • Pub/Sub 수신 뒤 조회와 저장, 전송을 요청 안에서 한 번에 처리하던 구조를 RabbitMQ 기반 비동기로 옮겨 backpressure 와 실패 격리를 얻었습니다.
  • 같은 Gmail 스레드를 동시에 처리하며 생기던 경쟁 상태를 비관적 잠금과 Unique 제약으로 막았습니다.
  • 결제 직후 네트워크가 끊기면 결제와 플랜 상태가 어긋나던 것을 결제사 웹훅으로 서버가 확정하도록 바꿨습니다.

선착순 예매 시스템 대기열 기반 선착순 예매

개인 프로젝트 · 1인

예매 시작 순간에 몰리는 요청을 대기열로 받아 처리 속도를 서버가 정하고, 재고는 원자적으로만 깎이게 만들었습니다.

발급된 티켓
정확히 1,000장
처리량
초당 4,938건
P95
18.68ms
  • Redis ZSET으로 줄을 세우고 스케줄러가 정해진 수만큼만 입장시켜, 유입 속도와 무관하게 예매 API에 도달하는 요청 수를 제한했습니다.
  • 재고 확인과 차감 사이의 경쟁을 Lua 스크립트 하나로 묶었습니다. 재고 100장에 32스레드로 1,000회를 동시에 넣어 발급이 정확히 100건인 걸 확인했어요.
  • 중복 클릭과 재시도를 Filter 계층에서 끊었습니다. 멱등키만 보지 않고 요청 본문을 정규화한 fingerprint까지 비교해, 같은 키에 다른 내용이 오는 경우를 구분합니다.

아올다 클라우드 OpenStack 기반 클라우드 콘솔

2025.05 ~ 진행 중 · 12인 (BE 8, FE 3, Design 1)

학내 IaaS 플랫폼의 자체 관리 콘솔과 운영 자동화를 만듭니다.

  • 외부 컴포넌트 하나가 느려지면 전체가 같이 멈추던 것을 Circuit Breaker 와 Retry 로 끊어 장애 전파를 막았습니다.
  • OpenStack 과 로컬 DB 가 어긋나는 문제를 보상 트랜잭션과 ShedLock 기반 검증 스케줄러로 맞췄습니다.
  • 흩어져 있던 로그와 트레이스, 메트릭을 Loki, Tempo, Prometheus, Grafana 로 모았습니다.

다루는 것

JavaSpring BootJPAQueryDSLMySQLPostgreSQLRedisRabbitMQFCMAWSResilience4j

활동

  • 아주대학교 코딩트레이너, 객체지향프로그래밍 및 실습 2026.03 ~ 2026.06
  • 소프트웨어학과 학술 동아리 한터 37기 회장 2025.01 ~ 2025.12
  • 프라이빗 클라우드 아올다 1기 개발팀 2025.03 ~ ing
  • BOAZ 25기, 데이터 엔지니어링 2025.06 ~ 2025.12

수상

  • 아주대학교 해커톤 아주톤 최우수상 보고서 작성 자동화 서비스 2025.05
  • 아주대학교 파란학기제 시선집중상 OnRank, 스터디 활동 관리 플랫폼 2025.06
  • 아주대학교 동아리 소학회 콘테스트 2025 장려상, 2024 동상 2024 ~ 2025

교육

아주대학교 소프트웨어학과 2021.03 ~ 2027.02 졸업 예정
전공
4.28
전체
4.20
성적 장학금
4회

4.5 만점 기준, 119학점 이수 (전공 70학점).