← 블로그
함승훈
함승훈 프로필 사진

Backend Engineer

함승훈

Make Non Polynomial Polynomial.
어떤 문제든 충분히 작게 쪼개면, 결국 풀어본 적 있는 문제였습니다.

Summary

복잡한 문제도 책임과 경계를 충분히 작게 나누면, 예측 가능하고 안전하게 풀 수 있는 문제로 바뀐다고 믿습니다.

음원 정산·지분율·계약처럼 오류 허용치가 낮은 도메인에서 트랜잭션 안정성, 동시성 제어, 분산 락, 대량 처리 구조를 직접 설계해 왔습니다.

경쟁 상태를 분석하고 락과 정합성 모델을 재설계하는 등, 담당 영역의 아키텍처를 끝까지 책임지는 데 강점이 있습니다. 퇴사 후에는 이 경험을 개인 프로젝트(ParityPay)에서 결제·원장 동시성 실측으로 이어가고 있습니다.

Career

(주)드림어스컴퍼니 (FLO) — MCP개발 Unit 백엔드 개발자 · 음원 스트리밍 서비스 FLO 운영사

2021.12 – 2025.2

음원 콘텐츠 플랫폼(Music Contents Platform) 전면 개편 2024.1 – 2025.2

도메인 중심 재설계아키텍처 가드레일CQRS

유통사로부터 입수한 음원의 앨범·곡 메타데이터와 라이선스·계약 정보를 관리해 서비스 노출과 정산으로 연결하는 사내 백오피스 플랫폼입니다.

백엔드 리딩(3인 팀) — 화면 단위로 쪼개진 API, Map 기반 동적 입력, 조회·변경이 혼재된 MyBatis, row-level 락이 걸리는 시퀀스 채번 위에서 운영되던 JSP 레거시를 도메인 중심 아키텍처로 다시 세웠습니다.

  • 호출 순서 의존적이던 화면 중심 API를 도메인 책임 기반 재설계, 트랜잭션 경계 명확화 ⇒ 응답 속도 1.5초→300ms
  • 타입 안정성이 낮던 Map 기반 입력을 DTO 정적 타입 + 3단계 검증으로 전환 ⇒ 유입 단계에서 오류 사전 차단
  • 조회·변경 혼재로 SQL이 중복되던 MyBatis에서 조회만 JPA·QueryDSL로 분리(경량 CQRS) ⇒ SQL 중복·매퍼 복잡도 감소
  • SELECT 내 시퀀스 채번을 INSERT 시점 범위 할당으로 전환 ⇒ 계약 생성 처리 시간 2분→10초
  • 동시 개발 과정에서 레이어·매핑 규칙이 어긋나자 Package-by-Component·ArchUnit·SonarCloud 도입 ⇒ 정적 분석 위반 480건→75건(84%)
  • 개편(2024.1–2024.11)을 마친 뒤 2025.2 퇴사까지 MCP 운영·유지보수 담당

음원 유통 시스템(Music Distribution System) 리뉴얼 2023.1 – 2024.1

이벤트 기반 아키텍처경량 분산락Spring Batch

글로벌 파트너사 앨범을 등록·검수해 DDEX 규격으로 국내외 음원 플랫폼에 자동 전송하는 유통·정산 시스템을 리뉴얼했습니다.

콘텐츠(앨범·트랙)·라이선스 관리 API 개발, 이후 계약관리 영역까지 단독 담당 — 정산 중 메타데이터 수정이 그대로 반영돼 재정산이 필요해지거나, 폴링 기반 단일 스레드 배치가 요청 급증 시 적체될 수 있는 리스크를 설계로 먼저 막았습니다.

  • 정산 대상 단위에 상태 플래그 기반 경량 락을 두고 수정 API에 애너테이션 + AOP 인터셉터를 적용해 정산 중 변경을 사전 차단, 물리 DB 락 대신 상태 기반 제어와 TTL 자동 복구 ⇒ 재정산 빈도 감소
  • 계약 갱신·라이선스 만료 로직을 Spring Batch Job으로 분리, 재실행 가능한 구조 설계
  • 폴링 배치를 SQS 이벤트 파이프라인으로 전환, 재시도·DLQ 적용 ⇒ 처리 대기 3~5분→1분 내외, 실패 격리

대용량 배치·Excel 처리 최적화 2022.9 – 2022.12

장기 트랜잭션 제거메모리 안정화

대용량 데이터를 배치로 처리하고 조회 결과를 Excel로 생성해 내려주는 기능입니다.

단독 수행 — Tasklet 기반 단일 트랜잭션에 대량 엔티티가 영속성 컨텍스트에 누적되고, 조회 결과를 한 번에 메모리에 올려 Excel을 만들다 Full GC·OOM이 반복되던 구조를 청크 기반 트랜잭션과 스트리밍 방식으로 다시 설계했습니다.

  • Heap Dump·GC 로그·Thread Dump 분석으로 원인 특정 후 청크 기반 트랜잭션으로 전환 ⇒ 메모리 피크 3.8GB→1.6GB(58%)
  • Excel 생성을 Apache POI SXSSF Streaming 방식으로 전환 ⇒ 메모리 사용량 1.2GB→180MB(85%)

지분율 시스템 동시성·정합성 개선 2022.8 – 2022.11

동시성 제어분산락대량 처리

유통사별 저작권·실연권 지분율 데이터를 등록·관리해 월 단위 정산의 기준 데이터로 제공하는 시스템입니다.

단독 설계·구현 — 기간 겹침 조건이 OR 기반이라 인덱스가 활용되지 않아 삭제 배치가 2시간을 넘겼고, 소유자 개념 없는 Redis 락으로 삭제·등록이 교차 실행되는 Race Condition이 있던 구조를 인덱스 재설계와 소유권 기반 분산락으로 다시 설계했습니다.

  • 유통사ID+기간 복합 인덱스 재설계 + 청크 기반 병렬 처리로 80만 건 삭제·등록 전환 ⇒ 처리 시간 2시간→5분(24배)
  • Redis 분산락을 SETNX+Lock Token 조건부 해제로 재설계 ⇒ Race Condition 제거, 삭제→등록 상태 전이 모델로 DB를 기준 상태로 삼음
  • 단일 스레드 순차 처리로 지연되던 Excel 업로드를 파싱–검증–매핑–삽입 파이프라인+Backpressure로 전환 ⇒ 등록 시간 40분→12분

크리에이터 스튜디오 구축 및 운영 2022.4 – 2022.8

ISMS 인증감사 로그암호화

누구나 오디오 콘텐츠를 제작해 FLO에 배포할 수 있게 하는 B2C 크리에이터 플랫폼입니다.

초기 구축(3인 팀) 참여 후 외부 연동·인증·감사 대응 단독 전담 — "누가/언제/무엇을 했는가"를 추적할 로그 체계가 없었고, 외부 연동이 도메인 트랜잭션 안에서 수행돼 장애가 핵심 데이터로 전파될 수 있던 구조를 감사 로그 체계와 이벤트 기반 연동 구조로 다시 세웠습니다.

  • ISMS 인증 심사 2회(2023·2024) 참여 ⇒ Audit Log 체계를 설계하고 감사원 질의에 직접 시연
  • Audit Log 포맷 표준화, Logback MDC로 요청·사용자ID 포함, ELK 기반 조회 체계 구축 ⇒ ITGC 회계 감사에도 활용
  • 외부 연동(Braze·Mixpanel)을 @TransactionalEventListener 기반 Post-Commit 이벤트로 분리 ⇒ 장애 전파 차단, 인증·KMS 암호화 연동도 함께 처리

(주)더파이러츠 — IT본부 개발팀 백엔드 개발자 · '인어교주해적단' 앱 운영사

2021.6 – 2021.9
  • 제휴 상점 자동 결제 시스템 구축 및 결제 대행업체 API 연동
  • NHN고도몰 API 연동을 통한 상품 데이터 동기화
  • CDN 캐싱 적용으로 인어교주해적단 앱 초기 로딩 성능 개선

육아 및 개인 프로젝트 — 개인 프로젝트 설계·개발 병행

2025.2 – 현재

ParityPay — 결제·원장 백엔드 2026.9 – 진행중

동시성 실측Outbox 패턴장애 시나리오 검증

플랫폼 내장형 페이머니(선불 지갑) 결제·원장 시스템을 이중부기 불변 원장 구조로 설계한 개인 프로젝트입니다.

1인 개발 — 동시 잔액 차감, 외부기관 응답 유실, 이벤트 중복 전달처럼 실제 장애 상황에서도 절대 불변조건 10개가 깨지지 않는지 실측으로 검증하고자 했습니다.

  • 조건부 원자 UPDATE·SELECT FOR UPDATE·JPA @Modifying 3종을 동일 환경에서 벤치마크, 측정 오류(flush/clear 누락)까지 직접 추적해 정정 ⇒ 동일 지갑 요청의 84%가 잔액 행 락 대기임을 pg_stat_statements로 검증
  • 외부기관 타임아웃 시 성공/실패를 구분 못하는 문제를 Transactional Outbox+멱등 소비자로 해결 ⇒ DB 커밋 직전 종료 등 장애 시나리오 11개 전부 자동화 테스트로 검증

Education

2025.6 – 2025.9F-Lab 자바 백엔드 멘토링 과정 수료
2021.1 – 2021.5코드스쿼드 백엔드 마스터즈 과정 수료
2017.7 – 2018.3Best of the Best 6기 디지털 포렌식 트랙 수료 — Plain View of Multi Artifact 개발
2018.1 – 2018.12영남대학교 정보보안 동아리 @Xpert 부회장, 디지털 포렌식 교육멘토, CTF 서버구축
2012.3 – 2020.2영남대학교 컴퓨터공학과 졸업

Awards

2019.10영남대학교 종합설계과제 캡스톤 디자인 우수상 — ProofU, 프로젝트 기반 포트폴리오 플랫폼
2017.06영남대학교 컴퓨터공학과 창업 아이디어 경진대회 최우수상 — 짐짝, 관광지 거점 기반 짐 운반 대행 서비스

Certifications

2019.9.24SQL 개발자 (SQLD-0342981) — 한국데이터산업진흥원
2019.8.16정보처리기사 (19202040875B) — 한국산업인력공단
2019.6.30TOEIC 885점 — YBM