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

학습일지 197

EnvoyCon 2023 - Envoy Gateway: An In-Depth Guide of its benefits, Use cases, and Features

https://youtu.be/06ylMQrj0jU?si=Lcb1DcxyO0OPNC8B    Envoy Gateway: gateway which is actually managing envoy proxies.xDS Control Plane to dynamically manage a fleet of Envoysprovides "Batteries included" envoy proxy experience.Extensibility to support a multitude of application gateway usecases.mesh 형태의 기능도 지원할 예정이라고 함.본인들이 꼽는 장점Application Gateway에 필요한 usecase 대부분이 가능High Performance, Extensibil..

KEDA HTTP Add on 코드분석

KEDA http-add-on Autoscaling 로직 파악하기작성시간 기준, KEDA add on의 가장 최신버전인 v0.9.0 기준으로 작성.https://github.com/kedacore/http-add-on/blob/v0.9.0/docs/design.mdDesign외부에서 HTTP 요청이 오면, Ingress가 k8s svc로 트래픽을 전달해준다.keda-add-ons-http-interceptor-proxy 라는 k8s svc에서 트래픽을 받아서, interceptor 컴포넌트로 트래픽을 전달한다.interceptor는 scale zero인 deployment의 pod가 올라올 때까지 HTTP request를 pending하고, 트래픽을 전달할 수 있는 상태가 되었을 때 routing하는 역..

우아콘 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는 꽤 보편화된 용어가 됨그래도 잘 모르겠어서 네 개 프로덕트 소개를 전부 찾아봤음...

Airflow Summit 2021 - Deep Dive into the airflow scheduler

사족: 발표자 진짜 개패고싶음. 지금까지 봤던 모든 발표 중 단연 최악.중언부언에 용어 거꾸로 설명하다가 뒤늦게 바로잡는다던가, 뇌정지 온 것처럼 몇 초 가만히 있다가 대충 수습하고 넘어가는 게 한두번이 아님.발표만 깔끔하게 잘했어도 훨씬 좋은 세션이 되었을 거다.  https://youtu.be/DYC4-xElccE?si=lW5prwBguU_MqwQy   Ash Berlin-TaylorPMC member on AirflowDirector of Airflow EngineeringScheduler의 HA를 위해 re-architecting 했던 것들 정리.Responsibility of the Scheduler 단순히 Run Task만 수행하는 게 아님.Check DependenciesRetry Manag..

Airflow Summit 2021 - the Newcomer's guide to airflow's architecture

https://youtu.be/oLTMN-4Rvj8?si=ShQgVv-1M3ZlPbDG  Airflow는 AirBnb 내부에서 사용할 목적으로 만든 internal ETL tool에서 시작함.처음부터 훌륭한 아키텍처로 구성된 건 아니었고, 사용자가 많아지면서 요구사항에 대응하는 식으로 개선되어간 Organic Product. Airflow에서는 사용자가 DAG을 작성한다.DAG: 해야 할 Task와, task 간 relationship을 정의하는 Template.operators / task를 python으로 작성DAG을 실제로 실행할 때는 용어가 조금 달라진다.DagRun: instance of DAG that runs a certain execution time. 즉 특정 파라미터와 데이터를 받아서,..

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

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

GopherCon 2023 - the Secret life of Goroutine

https://youtu.be/MYtUOOizITs?si=bUId7ieorNpUOvJD Jesús Espino: mattermost (slack의 오픈소스 버전) 소속 Software Engineer goroutine을 설명하려면, go의 scheduler 이해가 필요하다.go scheduler를 구성하는 컴포넌트부터 간단히 소개하자면 Processor (alias P): Representation of Virtual CPUgoMaxProcs: number of Ps that scheduler have.Status 정보 가지고 있음 - Idle, Running, Syscall, gcStopAssociated the Current 'M'개별 P는 본인이 실행할 GoRoutine정보를 관리할 Queue가 있..

2024 당근테크 - 네트워크 통신 불가를 해결하기 위한 여정 (feat. istio)

https://youtu.be/Hh9zcth4UcI?si=vCq-pKTm6xxopnDP 당근페이에서 발생했던 여러 문제들을 어떻게 해결했는지. 당근서비스와 함께 잘 성장하던 당근페이. Redis에서 timeout 에러 발생 - redis 명령어 실행에 1500ms 이상 걸림. Redis Java client인 Lettuce에서 확인해보니, 에러 발생 시점에 command명령어 지연이 발생함. 근데 Redis 서버에는 문제가 없음 JDBC에서 DB Connection 맺을 때도 timeout 발생. (8초 정도 걸림) Deep Dive 마이페이지 상단에 '당근페이' 영역이 있다.당근페이는 가입하지 않은 사용자에게도 송금이 가능함.송금을 받았다면, '받지 않은 금액이 있다'는 정보를 표..

KakaoTechMeet - 신뢰성 있는 kafka application을 만드는 3가지 방법

https://youtu.be/7_VdIFH6M6Q?si=elt0JfJEcTO9i3tj   Event Driven Architecture / Stream Data pipeline 이벤트 또는 메시지 기반 메시지 전달의 신뢰성 확보하기.Exactly Once: 이벤트 발행 / 처리를 1회만 수행.At least Once: 장애 데이터가 중복으로 적재 / 처리될 수 있음.At most Once: 장애 등으로 데이터가 유실될 수 있으나, 중복은 발생하지 않음. kafka 구조 간단 소개Producer: kafka 최소단위인 Record를 Broker로 전달데이터가 제대로 전달되었는지 ACK로 확인Consumer: broker에 저장된 Record를 가져감.데이터를 정상적으로 받았는지 Offset commit으..

KubeCon2024 - Scaling New Heights with KEDA: Performance, Extensions, and Beyond

https://youtu.be/_5_njiPr5vg?si=W0MJDjYMbLMRYPU5 발표자Jorge Turrado: SCRM에서 SRE 담당. KEDA maintainerZbynek Roubalik: Kedify CTO, Knative TOC, KEDA maintainerEnterprise Autoscaling platform for our customers. Data Processing 관점에서, 한번에 데이터 처리가 많이 필요한 경우 / 그렇지 않은 경우가 있다. 리소스 효율화를 위해서라도, 필요한 순간에만 애플리케이션이 실행되면 좋을 것 같다.HPA: target workload의 CPU / Memory 확인해서 autoscale. 단, 리소스 사용량과 Actual Need이 다른 경우 사용하기..