ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Service Mesh란?
    DEV 2023. 7. 16. 15:35
    728x90

    Service Mesh란?

    출처 niginx.com

    MSA를 적용한 시스템의 내부 통신이 Mesh 네트워크 형태를 띠는 것에 빗대어 Service Mesh로 불려집니다.

    추상화를 통해 복잡한 내부 네트워크를 제어, 추적, 네트워크 관련 로직을 추가함으로써 서비스 메시는 애플리케이션의 트래픽을 관리, 추적, 보안성을 강화하는 플랫폼 레이어에 구성되는 네트워크 제어 방법입니다.

    서비스 메시는 데이터 플레인, 컨트롤 플레인 두 개의 컴포넌트로 구성이 되어있습니다.

    • 데이터 플레인은 애플리케이션 사이에 있는 프록시 네트워크를 구성하고 있습니다. 데이터 플레인의 프록시는 보통 엔보이를 사용하고 모든 서비스에 대한 인바운드/아웃바운드 트래픽을 관장합니다.
    • 컨트롤 플레인은 프록시에게 수행할 작업을 알려주고 메시를 작동하는 사람을 위한 인터페이스를 제공합니다. 서비스 검색, TLS 인증서 발급, 메트릭 집계 등을 포함하여 데이터 플레인이 작동하는데 필요한 컴포넌트들을 제공하고 사용자가 전체적으로 데이터 플레인의 동작을 수정하고 검사할 수 있도록 API를 제공합니다.

     

    Service Mesh의 기능

    트래픽 관리

    단일 클러스터 내 및 클러스터 간 트래픽 라우팅은 더 나은 배포 전략을 가능하게 해줍니다. 트래픽 라우팅 규칙을 사용하면 서비스 간의 트래픽 흐름 및 API 호출을 쉽게 제어할 수 있습니다. 서킷 브레이커, 타임아웃, 재시도와 같은 서비스 수준 속성의 구성을 단순화 하고 A/B 테스트, 카나리 배포와 같은 중요한 작업을 쉽게 설정할 수 있도록 해줍니다.

     

    보안

    서비스 메시에서는 TLS 암호화, 인증, 인가 도구를 제공하여 서비스와 데이터를 보호할 수 있도록 해줍니다.

     

    Service Mesh의 단점

    • 프록시 자원은 인프라와 관련하여 리소스를 소비하고 네트워크 지연을 유발합니다. 메모리와 CPU를 소비하는 프록시를 사용하는 서비스 개수가 늘어남에 따라 리소스 사용량이 증가하는 케이스가 발생할 수 있습니다. 또한 서비스 간에 위치한 두개의 프록시 자원은 네트워크 지연을 유발합니다.
      • 일반적인 컨테이너 통신에서는 소스 컨테이너와 타겟 컨테이너 사이에 커넥션 풀이 1개만 있지만 서비스 메시에서는 3개의 커넥션 풀(소스 컨테이너 -> 소스 사이드카 프록시, 소스 사이드카 프록시 -> 타겟 사이드카 프록시, 타겟 사이드카 프록시 -> 타겟 컨테이너)이 있습니다.
    • 특정 기능을 위해서 코드 수정이 불가피할 수 있습니다.
    728x90

    'DEV' 카테고리의 다른 글

    동기 / 비동기, 블로킹 / 논블로킹  (0) 2023.09.23
    Docker Network  (0) 2023.09.17
    Docker로 Redis cluster 구성  (0) 2022.05.01
    [Docker] 설치 및 기본 명령어  (0) 2021.01.30
    Kafka란?  (0) 2020.08.27
Designed by Tistory.