2025/05 3

[운영] 특정 요청만 504 Gateway Timeout?

API Gateway 구조와 동작 원리로 본 근본 원인 분석대규모 서비스에서 간헐적인 504 Gateway Timeout은 흔한 장애 유형 중 하나입니다. 특히 “특정 요청만” 실패할 때, 많은 개발자들이 Gateway의 부하나 단순 네트워크 문제로 치부하고 넘어가기 쉽습니다.하지만 Gateway 구조를 면밀히 들여다보면, 원인은 서비스 간 라우팅 구조, 인증/플러그인 처리 흐름, 그리고 타임아웃 설정 간 mismatch로 좁혀질 수 있습니다. 이번 포스팅에서는 API Gateway의 구조적 원리를 기반으로, 왜 특정 요청만 실패하고, 어떤 조건에서 지연이 발생하는지에 대한 기술적 원인을 탐색합니다. 1. API Gateway의 기본 구조- Reverse Proxy로서의 역할 API Gateway는 클라..

Network 2025.05.11

[504의 교훈] APISIX 전환으로 겪은 장애, 그리고 우리가 준비하지 못한 것들

1. 장애의 시작: Gateway를 바꾸면 모든 게 나아질 줄 알았다기존에 Go 기반 자체 Gateway(이하 Go Gateway)를 사용하고 있었다.필요한 라우팅 로직만 얹어 경량화된 구조였지만, 다음과 같은 한계에 부딪혔다. 동적 라우팅 관리의 부재인증/권한/로깅 플로우 중복버전 관리가 힘든 직접 코드 관리 구조 이러한 요구사항을 해결하기 위해 우리는 Apache APISIX로 전환을 시도했다.APISIX는 오픈소스 고성능 API Gateway로서 Nginx + Lua 기반, 플러그인 시스템을 제공하며레이트 리밋, 인증, 서비스 디스커버리, 로깅 등 다양한 기능을 유연하게 다룰 수 있었다. 기능만 놓고 보면 “완벽한 선택”이었다. 2. 그러나, 우리는 너무 빨랐고 느렸다전환 초기, APISIX는 문제..

운영 2025.05.11

[인프런] Simple Design: 25년차 개발자가 전하는 깔끔한 코드의 본질

좋은 코드의 기준, 정말 '주관적'일까요?좋은 코드의 기준이 있을까요? 깔끔한 코드? 읽기 쉬운 코드? 아름다운 코드?좋은 코드의 기준이 이런 주관적인 것 밖에 없을까요?팀장과 나의 코드 기준이 다른가요?동료들의 코드를 리뷰할 때 나는 어떤 이야기를 해줄 수 있을까요?본 밋업에서는 코드의 품질을 좀더 객관적으로 판단할 수 있는 기준들을 제시합니다.그러나, 그 기준을 단순히 제시하는 것에 그치기보다는, 그 기준을 이끌어내기 위해 어떤 질문들을 던졌는지어떤 사고 과정을 거쳤는지를 공유하고 각자가 스스로 고민하고 판단할 수 있는 기회를 제공하고자 합니다.그래서, 각자가 다른 사고 과정을 거치더라도 보편적인 기준에 도달할 수 있다는 것을 함께 경험하기를 바랍니다.사실 이 밋업을 듣는다고 해서 갑자기 매일 좋은 ..

스터디 2025.05.06