116
클라우드 네이티브 애플리케이션 디자인 패턴
니다.
사이드카 없는 서비스 메시를 적용할 때, 개발자가 컨트롤 플레인 설정
API
를 직접 다루어
야 할 일은 없습니다. 개발자 관점에서 이런 설정
API
는 보이지 않고 대신 프레임워크나 클
라이언트 라이브러리의 네트워크 통신 로직에 구현되어 있습니다.
고려해야 할 사항들
사이드카 없는 서비스 메시 패턴은 최근 떠오르고 있는 패턴으로 기존 사이드카 기반 서비스
메시 구조의 한계를 극복하기 위해 제안된 것입니다. 하지만 마이크로서비스 비즈니스 로직을
구현하는 라이브러리나 프레임워크가 서비스 메시 컨트롤 플레인 설정
API
를 지원하고 클라
이언트 라이브러리 자체가 네트워크 통신 로직을 구현해야 한다는 복잡한 문제가 있습니다. 예
를 들어 외부 서비스 호출에 회로 차단 기능을 구현해야 한다고 생각해봅시다. 이 경우 마이크
로서비스를 개발할 때 다른 서비스를 호출하기 위해 사용하는 클라이언트 라이브러리가 컨트
롤 플레인의
xDS
프로토콜을 지원함과 동시에 실제 회로 차단 로직도 함께 제공해야 할 것입
니다. 이 패턴을 적용할 수 있는지 여부는 결국 사용하는 프로그래밍 언어에서 사용할 수 있는
적당한 네트워크 통신 라이브러리가 있는지에 달려 있습니다.
관련 패턴들
사이드카 없는 서비스 메시 패턴은 사이드카 프록시를 사용하는 서비스 메시 패턴 대신 적용할
수 있습니다. 탄력적 통신 구현과 관련된 패턴은 마이크로서비스를 만들 때 사용하는 클라이언
트 라이브러리의 컨트롤 플레인 설정 영역에 주로 구현됩니다.