MSA 입문·실전 - 3.6. [실습] 특정 서비스가 장애났을 때, 장애가 전파되지 않게 방어 코드 작성하기
- 유저 서비스 장애 시, 게시글 조회 서비스로 장애가 전파되는 현상 확인 💥
- 장애 전파 방지를 위해, 유저 서비스 장애 시 게시글 정보는 정상적으로 응답하고 사용자 정보는 null로 처리하는 방식으로 코드 수정 🛠️
- 유저 클라이언트 클래스에서 응답 형태를 Optional로 변경하여 null 값 처리 가능하게 함 🔄
- try-catch 구문을 사용하여 API 요청 실패 시 Optional.empty()로 응답하고, 로깅 코드를 추가하여 문제 파악 용이하게 함 🔍
- 보드 서비스에서 유저 정보가 없을 경우(null), 유저 DTO에 null 값을 할당하도록 코드 수정 ✏️
- 유저 서비스가 정상 작동 시 게시글 및 사용자 정보 정상 응답 확인 ✅
- 유저 서비스 강제 종료 후 게시글 조회 API 호출 시, 게시글 정보는 정상 응답, 사용자 정보는 null로 응답하는 것을 확인하여 장애 전파 방지 성공적으로 구현 👍
- 장애 발생 시 로깅을 통해 문제점을 빠르게 인지하고 대처하는 것이 중요 🚨