Service Mesh(SideCar 패턴)

SideCar란 이름에 걸맞게 **독립적으로 옆에 붙어 실행되는 Application**이다.

기존 어플리케이션에서 **필요한 추가 기능을 별도의 어플리케이션으로 구축해 동일한 프로세스**에 놓는 것이다.

SideCar에서 생긴 장애, 수정 사항은 Application에 영향이 가지 않는다.

예를 들어 Nginx나 로깅을 위한 log stash를 SideCar로 붙일 수 있다.

Mesh NetWork

기존 MSA는 서비스끼리 **직접 호출**하는 방식 → Service Mesh의 호출은 **인프라 계층의 Proxy**를 통한다.

각 서비스에서 **분리된 SideCar Proxy들이 모여 Mesh Network를 형성**한다.

스크린샷 2023-07-24 오후 9.17.16.png


Service Mesh가 등장한 이유

기존 MSA에서 각각 **서비스끼리 통신을 구축**하느라 비즈니스 로직에 집중하기 힘들었다.

하지만 Service Mesh를 사용하면 그런 걱정 없이 비즈니스 로직에 집중할 수 있다.

MSA 단점

수십, 수천개의 서비스가 존재하기 때문에 **서비스간 통신이 복잡, 새로운 장애 지점**이 계속 나타나게 된다.

또한 **문제가 발생한 부분을 찾아내기도 굉장한 어려움이 존재**한다.

Service Mesh 장점

  1. 서비스간의 연동에 집중하기보다 **비즈니스 로직에 집중**이 가능하다.