🚪 토스는 Gateway 이렇게 씁니다.

최근에 토스 Tech 블로그에 토스가 Gateway 를 어떻게 구현하고 활용하는지 간략하게 설명한 글이 올라왔는데요, 개인적으로 인상깊게 본 내용인지라 공유해봅니다.


Gateway 는 마이크로 서비스 아키텍쳐가 유행을 타기 시작하면서 사용된 패턴인데요,

라우팅 및 프로토콜 변환을 담당하는 중개자 역할을 수행하는 서버를 두는 형태 입니다.


이를통해 각 마이크로 서비스마다 공통적으로 수행해야하는 로직을 Gateway 에서 통합해 처리할 수 있는데요,

토스에서는 다음과 같은 공통 로직 처리를 Gateway 에서 수행하고 있습니다.


📌 Sanitize

올바르지 않은 요청이 들어올 경우 이를 지우거나 올바른 값으로 바꿔서 서비스로 전달합니다.


📌 유저 Passport

인증된 사용자 기기 정보와 유저 정보를 담은 토큰을 발급하여 전달함으로써 각 서비스는 유저 정보를 조회할 필요 없이 유저에 대한 정보를 사용할 수 있습니다.


📌 종단간 암호화

앱에서 암호화 키를 사용하여 요청 바디를 암호화하고 Gateway 에서 이를 복호화하여 서비스에 전달함으로써 패킷 분석의 허들을 높여 안전하게 정보를 전달하도록 합니다.


📌 Dynamic Security

각 요청이 실제로 위변조 되지 않은 토스 앱에서 만들어진 요청인지 검증합니다.

아주 짧은 유효기간을 가진 안전한 키 값과 변조되지 않은 앱 정보를 활용하여 각 요청을 서명하고 이를 Gateway 에서 검증합니다.

검증 과정에서 의심스러운 요청이 발견되면 계정을 비활성화하여 사용자 계정이 보호되도록 조치합니다.


📌 인증서를 이용한 인증 / 인가

Client 인증서의 CA 유효성을 확인하고 인증서 정보중 X.509 extensions 의 Subject Alternative Name 을 활용하여 사용자 정보를 얻어 인증 / 인가 및 Auditing 처리를 수행합니다.


📌 Circuit breaker

마이크로 서비스 아키텍처 패턴은 많은 서비스들이 커미줄처럼 서로 상호작용을 하는 구조이기 때문에 특정 서비스의 응답 지연이 발생하면 해당 서비스를 의존하는 수많은 서비스들도 응답지연이 발생하게 되며 이는 곧 모든 시스템이 먹통이 되는 상황을 초래합니다.

이를 방지하기 위해 응답 지연을 유발하는 서비스가 있다면 요청을 더 이상 보내지 않고 빠르게 Fail Over 처리 하여 이슈가 있는 서비스 회복 및 응답 지연이 전체 서비스로 확장되지 않도록 합니다.


마이크로 서비스 아키텍처에서 Gateway 를 구축하시려는 분이 있다면 좋은 레퍼런스가 되지 않을까 싶습니다.


📚 원문

https://toss.tech/article/slash23-server


📚 함께보면 좋은 글

📈 API Gateway Throttling 구현: https://careerly.co.kr/comments/84924?utm_campaign=self-share

토스는 Gateway 이렇게 씁니다

toss.tech

토스는 Gateway 이렇게 씁니다

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 17일 오후 1:28

 • 

저장 224조회 8,546

댓글 1

함께 읽은 게시물

윈드서프는 2021년 미국 캘리포니아주에서 창립된 AI코딩 스타트업이다. 윈드서프는 파이선·C 등 프로그래밍 언어가 아니라 자연어로 코드를 짜는 이른바 ‘바이브 코딩’ 프로그램을 제공한다. 하루 활성이용자는 50만 명이 넘는다.

... 더 보기

오픈AI, 윈드서프 30억弗에 인수…불붙는 빅테크 'AI코딩' 경쟁

한국경제

오픈AI, 윈드서프 30억弗에 인수…불붙는 빅테크 'AI코딩' 경쟁

조회 744


세계 최대의 백과사전인 브리태니커 백과사전의 페이지수는?

... 더 보기

조회 2,688


부업 (준비)



... 더 보기

 • 

댓글 1 • 저장 9 • 조회 1,317


Piscina로 자바스크립트 멀티 쓰레딩 쉽게 하기

... 더 보기

Piscina로 자바스크립트 멀티 쓰레딩 쉽게 하기

www.daleseo.com

Piscina로 자바스크립트 멀티 쓰레딩 쉽게 하기

백엔드 개발자를 위한 모바일 앱의 특징

... 더 보기

백엔드 개발자를 위한 네이티브 모바일 앱의 특징

Kaden Sungbin Cho

백엔드 개발자를 위한 네이티브 모바일 앱의 특징

 • 

저장 191 • 조회 6,674


초봉 3억, 시니어 6억, 2022년 테크 회사 연봉 리포트

levels.fyi에서 발표한 2022년 연봉 리포트 읽어보니 흥미로운 데이터가 많이 보입니다. 150,000개의 연봉 데이터를 바탕으로 다음과 같은 정보를 얻을 수 있습니다. 1. 개발자 직종 외 평균 연봉이 높은 직종 2. 초봉이 높은 회사 리스트 3. 시니어+ 연봉이 높은 회사 리스트 4. 나라별 연봉 정보 5. 2021년도와 2022년도 평균 연봉 데이터를 보고 흥미로운 점과 포스팅 맨 마지막에는 해외 취업을 준비 중이라면 꼭 알아둬야 할 점도 함께 공유합니다. (글 쓴 시점의 환율로 계산했습니다.) 👉 2... 더 보기

End of Year Pay Report 2022 | Levels.fyi

Levels

End of Year Pay Report 2022 | Levels.fyi

 • 

저장 89 • 조회 8,321