이번 섹션부터는 마이크로서비스를 회복력 있게 만드는 방법에 대해 이야기하고자 합니다.
Resiliency은 어려운 상황을 견디고 다시 회복할 수 있는 능력을 의미합니다. 예를 들어, 우리는 코로나19라는 어려움을 겪었지만, 결국 정상적인 삶으로 돌아왔습니다. 이와 마찬가지로, 마이크로서비스도 네트워크 문제나 성능 이슈와 같은 어려운 상황을 견딜 수 있도록 회복력 있게 설계해야 합니다.
우리의 서비스 내에서 장애 관련 질문을 이렇게 할 수 있을거 같습니다.
연쇄적인 장애를 어떻게 피할 수 있을까?
실패를 어떻게 우아하게 처리할 수 있을까?
서비스를 어떻게 자가 치유(Self-healing) 가능하게 만들 수 있을까?
이러한 문제들을 해결하기 위해, 우리는 Resiliency4j라는 라이브러리를 사용합니다. Resiliency4j는 Java 애플리케이션, 특히 함수형 프로그래밍을 위해 설계된 가벼운 내결함성 라이브러리입니다. 이 라이브러리는 회복력을 높이기 위해 다양한 패턴을 제공합니다.
이 섹션에서는 이 패턴들을 자세히 다루고, 마이크로서비스에서 이를 어떻게 활용할 수 있는지 알아봅니다.
Resiliency4j 공식 웹사이트에서 더 많은 정보를 확인할 수 있습니다. 이 웹사이트에는 라이브러리의 사용법과 다양한 패턴에 대한 설명이 포함되어 있습니다. 또한, Spring Boot와 Spring Cloud와 같은 프레임워크와 함께 Resiliency4j를 어떻게 사용할 수 있는지도 안내합니다.