91
3
장
클라우드 네이티브 애플리케이션 설계
URI
이 옵션은 매칭용으로 요청
URI
를 이용합니다. 트래픽을 어디로 보낼지는
URI
의 일부 또는
전체를 보고 결정합니다.
소스
사용자는 특정 소스에서 오는 트래픽만 라우팅할 수 있습니다. 예를 들어 서비스
A
에서 들어오
는 트래픽에만 규칙을 적용할 수 있습니다. 서비스
B
에서 들어오는 트래픽에는 다른 라우팅 규
칙을 사용할 수 있습니다.
이런 규칙들을 컨트롤 플레인에 적용하면 컨트롤 플레인은 전체 사이드카 프록시에 규칙들을
보냅니다. 마지막으로 프록시들은 이런 규칙들을 기반으로 재설정하고 트래픽을 라우팅합니다.
3.8.2
장애 처리
분산 시스템에서는 매번 다른 이유로 서비스 간 통신에 장애가 발생할 거라고 가정해야 합니
다. 이런 장애는 꼭 서비스 코드의 버그 때문에 발생하는 건 아닙니다. 예를 들어 네트워크나
인프라 문제 때문에 장애가 발생할 수 있습니다.
transient
과
nontransient
두 가지 종류의 장
애가 있습니다.
transient
는 언제든지 발생할 수 있고, 대부분은 몇 번의 재시도 후에 성공합니
다.
nontransient
는
transient
보다 더 영구적입니다. 예를 들어 지워진 파일에 접근하는 경우
가 있습니다. 이런 종류의 장애 발생에 대비할 수 있는 코드를 개발해서 서비스가 계속 올바르
게 응답하고 작동되도록 해야 합니다.
트래픽 관리 기능 외에도, 서비스 메시는 요청 타임아웃, 재시도, 서킷 브레이커를 정의해서 요
청 실패를 어떻게 처리할지도 지원해야 합니다. 기본 ...