카
카카오페이
May 25, 20221회
MSA 환경에서 네트워크 예외를 잘 다루는 방법
간단 소개
MSA 환경에서 네트워크 예외를 효과적으로 처리하고 결제 트랜잭션의 무결성을 보장하는 방법에 대한 카카오페이의 기술적 접근 방식.
AI Summary
- MSA 환경의 네트워크 예외 처리 중요성
- MSA 환경에서 글로벌 트랜잭션 관리는 데이터 일관성을 위해 중요하며, 네트워크 요청의 예외 상황을 효과적으로 다루는 것이 필수적이다.
- 결제 시스템은 높은 수준의 무결성이 요구되므로, 예외 상황 발생 시 고객 불편과 서비스 신뢰도 저하를 방지해야 한다.
- 네트워크 요청의 예외 처리 전략
- API 요청 시 알 수 없는 에러 (예: 타임아웃) 발생에 대비하여 재요청 시도, 요청 성공 여부 확인, 결제 취소 등의 후처리 로직을 구현해야 한다.
- 멱등성 API를 제공하여 동일한 요청이 여러 번 들어와도 같은 응답을 보장함으로써, 재요청으로 인한 중복 결제 등의 문제를 방지할 수 있다.
- 함수형 프로그래밍을 활용한 예외 처리 개선
- try-catch 방식의 중복 코드를 줄이고, ActResult와 같은 데이터 구조를 사용하여 성공, 실패, 알 수 없음 상태를 명확하게 구분하고 안전하게 처리할 수 있다.
- map, flatMap, recover 등의 함수를 활용하여 각 상태에 따른 로직을 유연하게 연결하고, 예외를 효과적으로 제어할 수 있다.
Next Feeds

테스트 자동화 구축 이야기
스포카 QA팀의 Appium을 활용한 모바일 앱 테스트 자동화 구축 과정과 향후 계획, 그리고 테스트 자동화의 효과적인 활용 방안에 대한 이야기.
테스트 자동화Appium리그레션 테스트테스트 커버리지모바일 앱
2022. 5. 24.
스포카
사람인 Android App Refactoring
사람인 아이엠그라운드 앱의 MVC 패턴 문제점을 개선하고자 MVVM 패턴, AAC, Dagger-Hilt, DataBinding 등을 적용하여 리팩토링을 진행한 사례 공유.
MVVMAACDagger-HiltDataBindingViewBinding
2022. 5. 23.
사람인
React 18: 리액트 서버 컴포넌트 준비하기
React 18의 주요 기능인 서버 컴포넌트(RSC)의 특징, 이점, 그리고 서버 사이드 렌더링(SSR)과의 관계를 설명합니다.
React 18서버 컴포넌트데이터 페칭SSR번들 사이즈
2022. 5. 20.
카카오페이
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식을 분석하고, 메모리 관리 전략과 최적화 기법을 설명합니다.
v8 엔진가비지 컬렉션메모리 관리Mark-SweepOrinoco
2022. 5. 19.
카카오엔터테인먼트FE
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식을 분석하고, 메모리 관리 및 최적화 기법을 설명합니다.
가비지 컬렉션v8 엔진메모리 관리Mark & SweepOrinoco
2022. 5. 19.
카카오엔터테인먼트FE
Sentry로 우아하게 프론트엔드 에러 추적하기
Sentry를 활용한 프론트엔드 에러 추적 방법과 카카오페이 개발팀의 도입 사례를 소개합니다. 효과적인 에러 관리 및 분석 전략을 제시합니다.
Sentry프론트엔드에러 추적모니터링React
2022. 5. 18.
카카오페이