더북(TheBook)

1.9.3 마이크로서비스 클라이언트 회복성 패턴

마이크로서비스 아키텍처는 고도로 분산되어 있어서 1개의 서비스(또는 서비스 인스턴스) 문제가 서비스 소비자에게 연쇄적으로 발생하지 않도록 방지하는 데 매우 민감해져야 한다. 이를 위해 네 가지 클라이언트 회복성 패턴을 다룰 것이다.

클라이언트 측 부하 분산(client-side load balancing): 마이크로서비스의 여러 인스턴스에 대한 호출이 정상 인스턴스에 분산하도록 서비스 인스턴스의 위치를 캐싱하는 방법은 무엇인가?

회로 차단기 패턴(circuit breakers pattern): 클라이언트가 고장 나거나 성능 문제가 있는 서비스를 계속 호출하지 않게 하는 방법은 무엇인가? 서비스가 느리게 실행되면 서비스를 호출하는 클라이언트의 리소스가 소모된다. 비정상 마이크로서비스 호출이 빨리 실패하면 호출 클라이언트가 신속하게 응답하고 적절한 조치를 취할 수 있다.

폴백 패턴(fallback pattern): 서비스 호출이 실패할 때 호출한 마이크로서비스가 아닌 다른 대체 수단을 사용해 서비스 클라이언트가 작업을 수행할 수 있게 하는 ‘플러그인’ 메커니즘을 어떻게 제공할 것인가?

벌크헤드 패턴(bulkhead pattern): 마이크로서비스 애플리케이션은 작업을 수행하기 위해 여러 분산 자원을 사용한다. 오작동하는 서비스 호출 하나가 나머지 애플리케이션에 부정적인 영향을 미치지 않도록 이러한 호출을 구분하는 방법은 무엇인가?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.