Network/로드밸런서

    MSA를 위한 L7 Proxy - Envoy proxy

    네트워크는 애플리케이션에 투명해야하며 장애가 발생했을 시 어디에서 문제가 발생했는지 쉽게 파악할 수 있어야한다. MSA 서비스들이 늘어나면서 서비스들이 네트워크를 통해 서로 통신해야했고 이러한 서비스에서 사용하는 핵심 네트워크 프로토콜은 HTTP, HTTP/2, gRPC, Kafka, MongoDB 등의 L7 프로토콜이다. L3, L4 기반의 프록시들로는 다양한 요건들을 처리하기 어려워졌고 그에 따라 L7 기능을 갖춘 프록시의 필요성이 부각되기 시작했다. Envoy Proxy 는 Serivice Mesh Architecture로 대표되는 Istio의 메인 프록시로 대형 MSA 의 단일 Application과 Service를 위해 설계된 고성능 분산 C++ 프록시이다. Lift 사에서 제작한 프로젝트로 (..

    Service Mesh Architecture & Istio

    Service Mesh Architecture & Istio

    MSA 시스템안에는 수십개의 Micro Service가 분리되어있고 동작하는 수백 ~ 수천개의 서비스 인스턴스들을 모니터링하고 로깅하고 관리해야한다. 또한 서비스간의 통신도 매우 복잡해진다. 이와 같은 프로그래밍 오버헤드를 낮추기 위해 나온 아키텍처가 바로 Service Mesh 이다. Service Mesh 기존 서비스 아키텍처에서의 호출이 직접 호출방식이었다면 service mesh에서의 호출은 서비스에 딸린 proxy끼리 이뤄지게 된다. 이는 서비스의 트래픽을 네트워크단에서 통제할 수 있게 하고 또한 Client 의 요구에 따라 Proxy단에서 라우팅 서비스도 가능하게 할 수 있다. 이런 다양한 기능을 수행하려면 기존의 TCP기반의 proxy로는 한계가 있다. 그래서 Service Mesh에서의 통..