공부하고 기록하는, 경제학과 출신 개발자의 노트

우아콘 5

우아콘 2024 - 배달의민족 API Gateway

https://youtu.be/Ci_DsTkzcRY?si=p0SWeCcZpYWeox9j   API Gateway란?  api 요청 받고, 필요한 정책 수행하고, 필요한 곳에 요청을 보낸 뒤 응답을 되돌려준다?생각보다 명확하게 정의된 게 없음.2013년 Netflix Zuul부터 2015년 AWS API Gateway, 2017년 Spring Cloud Gateway 등 프로덕트를 찾아봐도 정의가 명확한 건 없었음.오픈소스 프로젝트인 Kong의 경우, API Management라는 이름으로 시작되었다가 슬그머니 API Gateway라는 표현을 쓰기 시작.Cloud Native 이후 MSA까지 등장하면서 API Gateway는 꽤 보편화된 용어가 됨그래도 잘 모르겠어서 네 개 프로덕트 소개를 전부 찾아봤음...

우아콘 2023 - 대규모 트랜잭션을 처리하는 배민 주문시스템 규모에 따른 진화

https://youtu.be/704qQs6KoUk  강홍구: 푸드주문서버개발팀   배민 주문시스템 장바구니 / 주문하기 / 주문내역 쪽 BE 담당.일반적인 커머스와는 달리, 점심 / 저녁에 트래픽 폭증하는 구조. 가게, 메뉴, 주문, 결제, 배달 등 다양한 서비스의 결합으로 이루어져 있음.한쪽의 장애가 다른 쪽으로 전파되지 않는 '느슨한 결합'이 중요하다.일평균 300만건의 주문 + 수년간의 데이터 저장 / 관리.방대한 데이터 저장, 조회 성능 필요순간적으로 몰리는 대규모 트랜잭션의 안정적인 처리방법MSA와 '느슨한 결합' 구조를 위해 이벤트 기반 통신이벤트 유실 시 재소비 방법이벤트 흐름을 가시적으로 확인할 수 있는 방법성장하는 주문 시스템 2018년만 해도 일 100만 건이 안 됐음. 지금은 일 3..

우아콘 2023 - Kafka를 활용한 이벤트 기반 아키텍처 구축

https://youtu.be/DY3sUeGu74M?si=tDHw0pmczIcrHuLQ 딜리버리시스템 임준수배차담당시스템 송인태왜 적용했는가? 두 시스템이 하는 일: '배달을 잘 한다'배달기능이 늘어가면서 복잡도 증가.알림: 배달상황이 변경됐을 때 (ex. 라이더가 음식 픽업했을 때) 제공배달시간통계: 배달상황이나 지표 추출을 위한 기능쿠폰: 배달 지연됐을 때 고객에게 제공배달이 아닌 기능을 분리할 필요가 생김.하지만, 배달에 관련된 다양한 기능은 배달에 엮여서 잘 동작해야 함.배달이 변경되었을 때, 관련 기능이 '동시에' 변경될 필요가 없는 것들이 있다. (Eventual Consistency)배달 '이벤트'가 발생하면, 나중에라도 관련 기능이 동작하면 됨.배달은 배달만 잘 수행하고, 이벤트를 발행한다..

WoowaCon 2022 - 회원 시스템 이벤트 아키텍처로 구축하기

https://www.youtube.com/watch?v=b65zIH7sDug 회원시스템 이벤트 기반 아키텍처 구축하기2015년 모놀리틱 구조로 배민 서비스 구현.J커브 형태로 서비스가 급격히 성장하며 수없이 장애가 터짐따라서 2019년에 배민의 모든 서비스를 Microservice로 분리하였음.서비스 자체를 microservice들의 집합으로 구성하는 사례는 이제 많아졌으니, 하나의 microservice를 event-driven으로 구성한 사례를 설명하고자 함.   Microservice와 event-driven이 같이 언급되는 경우가 많다.Microservice는 서비스와 서비스 간 '느슨한 결합' (loosly coupled) 을 지향함.Event-Driven이 '느슨한 결합' 형태를 지원하는 데..

WoowaCon 2021 - 서버 성능테스트, 클릭 한 번으로 끝내볼 수 있을까?

서버 성능테스트, 클릭 한 번으로 끝내볼 수 있을까? 배민서비스개발팀 김덕수 님 전제사항 클라우드 환경. CLI로 클라우드 서버를 조작할 수 있어야 함 서버 자원을 시각화할 수 있고, 모니터링할 수 있는 수단을 갖추고 있음. 서버 성능테스트? API 요청이 많은 상황에서 서버가 어떻게 동작하는지 확인하기 위해 수행하는 테스트. 목적에 따라 성능테스트 / stress test / 부하 테스트 등 용어가 다르지만, 세분화된 용어 정의는 이 발표에서 중요하지 않으므로 '성능테스트'로 통일. 요청을 얼마나 잘 처리하는가? 병목현상이 되는 지점은? 가상의 클라이언트를 만들고, 서버 부하를 발생시켜서 상황을 관측한다. 트래픽 많이 들어오는 게 무서운 서비스... 사전에 확인하기 위해서. 가상 클라이언트를 생성하는 ..

강연 2021.12.05