PH pullh
현장 노트 / 결제 코어 일부를 Rust로 옮긴 팀의 마이그레이션 저널
마이그레이션 저널 7분 Rust

결제 코어 일부를 Rust로 옮긴 팀의 마이그레이션 저널

한 번의 대형 재작성은 없었다. 대신 장애 비용이 큰 경로부터 천천히 Rust로 옮기며 신뢰를 쌓았다.

Rust 현장 이야기 커버 이미지

이 팀은 처음부터 모든 서비스를 Rust로 바꾸려 하지 않았다. 대신 중복 결제와 상태 꼬임이 자주 문제 되던 코어 경로만 골랐다.

Rust의 진짜 가치는 “더 빠르다”보다 “이 경로를 믿고 잠들 수 있다”는 감각에 있었다. 팀은 그 감각을 조금씩 넓혀 갔다.

점진적 이전 기록

1단계

가장 위험한 상태 전이만 분리했다

승인, 캡처, 취소가 엇갈리던 경로를 별도 모듈로 떼고 Rust에서 enum으로 다시 정의했다.

2단계

재시도 정책을 타입으로 고정했다

조건문에 숨어 있던 예외 규칙을 구조로 끌어올려 운영팀과 같은 언어로 보기 시작했다.

3단계

팀 리뷰 문화를 바꿨다

문법보다 소유권 경계와 실패 가능성 설명을 중심으로 코드를 읽는 문화가 자리 잡았다.

사업 현장에서 Rust가 통하는 이유

결제·정산 시스템은 새로운 기능보다 “절대 꼬이면 안 되는 상태”가 더 중요하다. Rust는 그 규칙을 언어 차원에서 단단하게 붙잡아 준다.

러닝 커브는 분명하지만, 장애 비용이 큰 도메인에서는 학습 비용을 상쇄하고도 남는 안정성을 주는 경우가 많다.

“Rust를 도입한 이유는 멋있어서가 아니라, 가장 비싼 장애를 줄이기 위해서였다.”

팀 회고

도입 뒤에 남은 기준

  • Rust는 전체 재작성보다 위험 경로를 점진적으로 잠그는 방식이 현실적이다.
  • 고신뢰 시스템일수록 학습 비용보다 장애 비용이 더 크다.
  • 언어 도입은 문법 교육보다 리뷰 문화와 설명 방식까지 함께 바꾸는 일이 중요하다.

Next Read

Rust 실무 가이드로 이어서 보기

러닝 커브는 있지만, 한 번 팀에 안착하면 “불안해서 손 못 대는 코드”를 줄이는 힘이 크다.