네이버 페이 배송 모듈 아키텍처 및 사용기술 분석

이동욱

2021/03/27

Categories: 커리어 Tags: 마이크로서비스

많은 양의 트래픽을 감당하고 어떻게 고가용성의 시스템을 구축하는지 알아보기 위해서 네이버 기술 블로그 및 세미나를 보면서 사용하는 기술을 분석하고 어떤 고민을 하고 있는지 살펴보았다.

네이버 페이가 고민했던 문제점


Watch the video

위에 있는 기술 세미나 영상을 보면서, 기존에 네이버 페이에서 발생했던 문제점들과 이를 해결하기 위한 기술들을 살펴볼 수 있었다.

네이버 페이에서 유저와 상호 작용하는 서비스

배송 모듈은 주문형 페이에 속하고, 주문형 페이에는 이커머스 삼대장인 주문, 배송, 클레임 을 관리하는 부서이다.

Screen Shot 2021-03-27 at 12 38 32 PM

배송 모듈의 특징 및 문제점

Screen Shot 2021-03-27 at 12 43 35 PM

Screen Shot 2021-03-27 at 12 44 52 PM

기존 배송 시스템

Screen Shot 2021-03-27 at 12 52 00 PM

배송 데이터 생성 패턴

Screen Shot 2021-03-27 at 12 55 43 PM

한계점

개선 시도

Screen Shot 2021-03-27 at 1 07 06 PM

Screen Shot 2021-03-27 at 1 10 04 PM

배송 분리 프로젝트 Plasma


문제 해결 접근 방법

이 부분에는 나도 공감하는데, 기술적으로 풀려고 시도했을 경우 많은 생각을 해야하지만 사실 비즈니스적으로 변경하여 문제가 쉽게 풀리는 경우가 많았다.

배송 서비스를 분리한 후에 구조


Screen Shot 2021-03-27 at 1 26 47 PM

이벤트 기반 모니터링

요약

네이버 페이 아키텍처 및 인프라 구성


Screen Shot 2021-03-27 at 10 38 54 AM

나도 현재는 웹 개발자로 일하고 있지만 언젠가는 플랫폼 개발을 경험하고 싶은 마음이 있는데, 멋있다는 생각이 들었다. 내가 만든 기능을 통해서 개발자들이 어떤 서비스를 만들었다고 생각하면 자부심과 동시에, 책임감을 느낄 수 있을 것 같다. 물론 이는 모든 개발자가 마찬가지지만 특히 플랫폼 개발을 하면 더욱 와닿을 것 같은 생각이 들었다. 내가 오픈 소스 활동을 하는 이유도 이와 비슷하다. 다른 사람들에게 선한 영향력을 주고 싶다.

마이크로서비스 아키텍처 및 이벤트 드리븐 아키텍처에 대해서 대략적으로만 알고 있어서 이 기회에 정리를 해보았다.

마이크로 서비스 아키텍처 Screen Shot 2021-03-27 at 10 47 46 AM

download

이벤트 드리븐 아키텍처

download

Screen Shot 2021-03-27 at 10 59 22 AM

이벤트 주도 마이크로서비스(EDM)

이벤트 주도 마이크로 서비스(EDM)은 MSA가 적용된 시스템에서 이벤트 발생시 해당 이벤트 로그를 보관하고 이를 기반으로 동작하며, 비동기 통신을 통해 시스템 내 통합(integeration)을 수행하는 아키텍처이다.

0_FvyN47z7FwnKPflx

네이버 페이를 뒷 받침하는 플랫폼


download

download

이러한 플랫폼을 활용해서 서비스를 개발하고 있고, 공통화가 필요한 부분은 플랫폼에 적용하거나 라이브러리화 하고 있다.

인상 깊었던 부분은 Spring Data JDBC에서 제공하지 않는 추가 기능들은 직접 개발해서 사용한다는 것이다. 기술에 이해도가 높지 않으면 절대로 쉽지 않다는 것을 알기 때문이다.

인프라 운영


일하는 방식


참고 문헌

>> Home