Envoy4 [Envoy 이해하기] Circuit_Breaker (outlier_detection) 안녕하세요. 오늘은 Envoy 이해하기 3번째 시간으로 envoy에서 서비스 회복성(Resilience)을 위한 설정을 들을 알아보는 시간을 가져보도록 하겠습니다.개발을 하다보면 서비스의 부하를 막기 위해서 RateLimit를 건다던지 장애 전파를 막기 위해서 Circuit Breaker를 추가한다는 일을 많이 하곤 합니다. 이러한 설정은 만약 Java/Kotiln을 사용하신다면 Resilience4j 등을 사용할 수 있습니다.그런데 사실 이러한 서비스 회복성 관련된것은 대부분 네트워크 관련된 것으로써 envoy가 이러한 역할을 해줄 수 있습니다. envoy에 이러한 설정을 맡겨버리면 Service 개발자는 Application 개발에 집중할 수 있게됩니다. 관련된 내용과 설정하는 방법을 오늘은 한번 .. 2025. 5. 1. [proxy] Envoy 이해하기 - Routing 개요안녕하세요. 오늘은 Envoy의 3번째 시간입니다. 이번시간에는 Envoy에서 사용할 수 있는 다양한 Routing 방법에 대해서 실습해보는 시간을 가져보도록 하겠습니다. 예제는 실전에서 주로 사용하는 예제를 기준으로 가져왔습니다.Path 기반 라우팅가장 먼저 Path 기반의 라우팅을 살펴보도록 하겠습니다. Path 기반의 라우팅은 Backend Cluster를 N개 등록하고 path에 따라서 라우팅되는 Cluster를 다르게 가져가는 방법입니다. 해당 방법을 통해서 apigateway 처럼 사용하 수 있습니다. 이 방법을 통해 리버스 라우팅을 할 수 있게됩니다. 각 서비스마다 path를 다르게 가져가는 방법입니다.테스트➜ 02-routing-proxy curl -X GET http://localh.. 2025. 4. 8. [proxy] Envoy 이해하기 - 실습 (Listener, Cluster, Route, Filter의 개념) 개요안녕하세요. 이전 포스팅 Envoy 이해하기 - 기본 이론편에서 마지막에 envoy.yaml 파일의 기본 구성을 함께 확인해 보았었습니다. 그때는 잠깐 언급만 하고 넘어가는 수준이었는데요. 오늘은 제대로 한번 해당 파일을 함께 보고 Envoy의 구성을 알아보도록 하겠습니다.Envoy 구성Envoy의 기본적인 아키텍처와 구성요소는 아래와 같습니다.ListenerEnvoy가 수신 대기할 IP와 포트를 정의Filterfilter_chain이란 어떠한 조건으로 요청을 처리할 것인지 정의예를 들어 L4 계층 기반으로 라우팅할지 L7 계층 기반으로 라우팅할지 등의 상위 레벨의 설정Router실제 라우팅의 조건 및 라우팅할 서비스 등을 지정L7 이라면 URL 경로, Header 기반 라우팅 설정이 가능L4 라면 .. 2025. 4. 5. [proxy] Envoy 이해하기 - 기본 이론편 개요마이크로서비스 아키텍처가 보편화되면서, 서비스 간 통신의 복잡성도 함께 증가했습니다. 서비스 간 라우팅, 로드 밸런싱, 모니터링, 보안 등 다양한 과제를 해결하기 위해 등장한 것이 바로 Envoy입니다. Envoy는 쿠버네티스 환경에서 Data Plane으로써 application의 side car로 많이 사용되는데요. 오늘은 이러한 Envoy에 대해서 알아보는 시간을 가져보도록 하겠습니다.Envoy의 탄생 배경Envoy는 원래 Lyft에서 개발되었습니다. Lyft는 수많은 마이크로서비스를 운영하면서 네트워크 관련 문제에 지속적으로 부딪혔고, 기존의 솔루션으로는 문제를 해결하기 어려웠습니다. 이 과정에서 새로운 L7 프록시가 필요하다는 결론에 도달했고, 그렇게 탄생한 것이 Envoy입니다. 이후 20.. 2025. 3. 28. 이전 1 다음