API Gateway Pattern에는 API Gateway가 없다 #우아콘2022 #Day2_음식그이상의것을문앞으로
우아콘 2022 우아한형제들 · YouTube
AI 핵심 요약
마이크로서비스에서 API 게이트웨이를 단순 라우터로 사용하면 내부 비즈니스 API가 그대로 외부에 노출되고, 객체 소유권 검증 누락에 따른 IDOR 취약점이나 클라이언트별 응답 통제 문제가 생길 수 있다고 설명한다. 발표자는 API 게이트웨이 패턴을 클라이언트 요청에 맞춰 여러 서비스를 호출하고 결과를 조합·선별하는 프레젠테이션 계층 애플리케이션으로 정의하며, 이를 Spring MVC나 WebFlux 코드로 직접 구현하라고 제안한다. 프레젠테이션 계층과 비즈니스 계층의 역할을 분리하면 권한 처리와 응답 구성을 각 클라이언트에 맞게 할 수 있고, 서비스 간 결합과 장애 전파도 줄일 수 있다는 것이 핵심이다. Spring Cloud Gateway 같은 프레임워크는 카나리 테스트·동적 라우팅 등 횡단 관심사가 필요한 경우에 한해 검토하되, 단일 장애 지점과 운영 부담을 따져야 한다.
- API 게이트웨이 패턴은 라우팅 설정이 아니라, 클라이언트별 서버 애플리케이션이 여러 비즈니스 서비스를 조합하고 응답을 선별하는 방식이다.
- 인증과 URL·HTTP 메서드별 권한만으로는 객체 소유권을 확인할 수 없으므로, 컨트롤러에서 리소스 단위 권한을 검증해야 한다.
- 프레젠테이션 계층을 고객 앱, 운영 도구, 배치 작업 등 접근 주체별로 나누고 각 계층에서 필요한 권한과 응답을 처리한다.
- 서비스 간 의존은 프레젠테이션 계층에서 비즈니스 계층으로 흐르게 하고, 비즈니스 서비스가 프레젠테이션 API를 호출하지 않도록 한다.
- API 게이트웨이 프레임워크는 카나리 테스트나 동적 라우팅 같은 횡단 관심사가 꼭 필요할 때 검토하고, 단일 장애 지점과 운영 부담도 고려한다.
소개
Microservices Architecture에 관해 이야기하면 왠지 API Gateway를 꼭 사용해야 할 것 같은 느낌이 듭니다. 과연 그럴까요? 왜 함부로 API Gateway를 사용하면 안 되는지, 그래도 사용해야 한다면 언제 사용할지에 대해 이야기를 나눠보려고 합니다. [발표자 소개] 손권남 | 서버개발그룹장 우아한형제들의 서버개발그룹장 역할을 맡고 있습니다. 대형 이커머스 시스템들의 Microservices Architecture 이관하는 작업에 여러번 참여하면서 느꼈던 점들을 공유해보려고 합니다.
이 자료가 담긴 로드맵
커뮤니티에서 더 보기비슷한 학습 자료
컨퍼런스 SLASH
토스ㅣSLASH 23 - 토스는 Gateway 이렇게 씁니다
컨퍼런스 SLASH
더 안전하고 안정적인 서비스 운영을 위해서 ‘gateway’를 어떻게 사용해야 할까요? 토스의 수많은 마이크로서비스 로직을 공통화하기 위한 gateway 운영 방법에 대해 소개합니다. 최준우, 오종훈, 김성현 / 토스 Server Developer 발표 자료 👉🏻 https://bit.ly/464i3vk 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #gateway #마이크로서비스 #serverdeveloper #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위...
백엔드 네트워크
컨퍼런스 우아콘 2024
배달의민족 API Gateway #우아콘2024 #우아한형제들
컨퍼런스 우아콘 2024
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의민족에는 사용자와 통신하는 수십/수백개의 서비스가 존재합니다. 계속하여 확장되고 변경되는 MSA 환경에서 안전하고 안정적으로 서비스를 제공하기 위해서 어떤 API Gateway를 구성해야 할까요? API Gateway를 둘러싼 각종 패턴들과 그에 대한 수많은 해석들로 인해 API Gateway 를 바라보는 시선은 혼란스럽기만 합니다. MSA 환경에서 어떤 API Gateway 를 구성해야하는지를 제시하며, 배달의민족의 게이트웨이를 소개합니다. ㅤ 👉 발표자 소개ㅤ 권용근, 서버 개발자
백엔드 네트워크
컨퍼런스 우아콘 2024
운영 안정성을 기술적으로 지키는 방법(이그나이트) #우아콘2024 #우아한형제들
컨퍼런스 우아콘 2024
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 이그나이트는 하나의 주제로 3~5명의 발표자가 5분간 빠르게 발표를 진행하는 방식의 세션입니다. 참여형으로 진행된 이그나이트 세션에서는, 우아한형제들 소속 발표자와 타소속 발표자가 함께 참여하였습니다. '운영 안정성을 기술적으로 지키는 방법' 세션에서는 QA, 배포 파이프라인 구성 등 기술을 활용해 어떻게 '운영 안정성'을 지키고 있는지 경험담을 공유합니다. 👉 발표 목록 1. 어쩌면 당연한 것들 - 김태정 님 2. 개선된 통합테스트 환경 만들기 - 김지훈 님 3. 파이프라인의 효율화: 운영 안정성을 위한 작은 스텝 - 정영진 님 4. 닥치면 다 해야하는 스타트업 개발자를 위한 인프라 QuickStart - 이재영 님
소프트웨어 테스트 데브옵스 · 인프라
컨퍼런스 우아콘 2023
Kafka Streams를 활용한 이벤트 스트림 처리 삽질기 #우아콘2023 #우아한형제들
컨퍼런스 우아콘 2023
[WOOWACON2023 세션 다시보기] 👉 세션 설명 배달 도메인에서 배달/라이더 이벤트를 다루면서 경험한 스트림 처리 과정에 대해 이야기합니다. 스트림 처리를 위한 구조 설계부터, Kafka Streams를 실제 적용하기까지의 전반적인 과정을 소개합니다. 특히 운영 과정에서 마주한 이슈들과 그에 따른 전략 및 해결 과정 등을 중점적으로 공유합니다. 배치 처리의 한계로 스트림 처리 도입을 고려하고 계신 애플리케이션 개발자에게 이번 세션을 바칩니다.ㅤ ㅤ 👉 발표자 소개 딜리버리서비스팀 서오상 동료들과 개발 문화를 가꾸고, 문제를 정의하고 해결하는 과정을 즐깁니다. 소프트스킬도 유연한 개발자이고 싶습니다. 먼 훗날 어딘가 베이커리 카페를 열고 디지털 노마드처럼 코딩하는 게 꿈입니다. 딜리버리서비스팀 이신은 방탈출을 좋아하고, 언젠가 회사 탈출을 꿈꾸는 개발자입니다. 의견 충돌과 협상, 극적 타결까지 이르는 과정에서 희열을 느끼는 평화주의자입니다. 👍 추천 대상 스...
백엔드 데이터베이스
컨퍼런스 우아콘 2023
[WOOWACON2023 세션 다시보기] 👉 세션 설명 Java/Spring 강국인 우아한형제들에 Node.js? JVM에 최적화된 인프라 플랫폼 위에서 Node.js 시스템을 안정적으로 운영하기 위해 어떤 노력을 했는지 공유합니다. 이 세션을 통해 Node.js 시스템의 Observability, Scalability & High Availability를 어떻게 확보할 수 있는지 CI/CD, 모노레포를 어떻게 활용할 수 있는지 노하우를 알아갈 수 있습니다.ㅤ ㅤ 👉 발표자 소개 운영도구개발팀 강동혁 안정성과 생산성을 고려하며 Node.js 백엔드 개발 표준을 밑바닥부터 만들어가고 있습니다. 👍 추천 대상 엔터프라이즈 MSA 환경에서 Node.js(NestJS) 애플리케이션을 운영하는 데 고민이 있는 분 🙋🏻♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍니다.
백엔드 데브옵스 · 인프라
문서 최준우