카카오페이 계정 토큰 시스템 개편기: Swift Concurrency 활용 사례
·2022.11.24 19:00
카카오페이가 Swift Concurrency를 도입해 토큰 관리의 동시성 문제와 코드 파편화를 해결했다.
카카오페이는 카카오톡 내 페이 서비스와 별도 앱 등 다양한 환경에서 토큰 시스템을 운영하고 있다. 기존 시스템은 토큰 동시 요청 시 처리가 누락되거나, 토큰 접근 코드가 파편화되어 불필요한 방어 코드가 많아지는 등의 문제를 겪었다.
이를 해결하기 위해 토큰 관련 로직을 별도 모듈로 캡슐화하고, 비동기 처리 환경을 개선했다. 특히 Swift Concurrency의 async/await 모델을 적극 활용하여 코드의 가독성과 안정성을 높였다.
Swift Concurrency 도입을 통해 다음과 같은 고질적인 문제들을 해결했다:
- Completion Hell: 중첩된 클로저로 인한 가독성 저하 문제 해결
- Completion 누락:
guard나if let사용 시 발생하던 콜백 호출 누락 방지 - 에러 처리 강화: 컴파일러 레벨에서
try/catch를 강제하여 에러 처리 누락 방지
이번 개편으로 비동기 작업의 흐름을 동기 코드처럼 직관적으로 작성할 수 있게 되었으며, 에러 처리 누락을 컴파일 단계에서 방지할 수 있는 환경을 구축했다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.