프로그래밍 언어/JAVA, SPRING

[SPRING] Hystrix

doomole 2024. 7. 22. 15:37
728x90

개요

Hystrix는 Netflix가 개발한 라이브러리로, 분산 시스템에서 서킷 브레이커 패턴을 구현하여 시스템의 복원력을 높입니다. Hystrix는 마이크로서비스 간의 의존성에서 발생할 수 있는 장애 전파를 방지하고, 서비스가 실패할 때 적절한 대처를 가능하게 합니다.

 

주요 기능

서킷 브레이커 - 실패한 서비스 호출을 감지하고, 장애가 전파되지 않도록 차단합니다.

폴백 메커니즘 - 서비스 호출이 실패할 경우 대체 로직을 실행합니다.

실시간 모니터링 - 서비스 호출의 성공, 실패, 시간 초과 등의 지표를 모니터링합니다.

 

 

설정

HystrixDemoApplication.java

package com.example.hystrixdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;

@SpringBootApplication
@EnableHystrix
public class HystrixDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(HystrixDemoApplication.class, args);
    }
}

 

DemoService.java

package com.example.hystrixdemo;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.stereotype.Service;

@Service
public class DemoService {
    
    @HystrixCommand(fallbackMethod = "fallbackMethod")
    public String serviceMethod() {
        // 서비스 호출 로직
        return "Service Response";
    }

    public String fallbackMethod() {
        return "Fallback Response";
    }
}

 

Hystrix는 마이크로서비스의 안정성과 복원력을 높여주는 중요한 도구입니다. 더 많은 정보는 Hystrix 공식 문서에서 확인할 수 있습니다.

 

 

문의사항이나 피드백은 댓글로 남겨주세요.

 

 

'프로그래밍 언어 > JAVA, SPRING' 카테고리의 다른 글

[JAVA] Exception Handling  (0) 2024.07.22
[SPRING] Sleuth  (0) 2024.07.22
[SPRING] 유레카(Eureka)  (0) 2024.07.22
[SPRING BOOT] 스프링 클라우드(Spring Cloud)  (3) 2024.07.22
[SPRING BOOT] DevTools  (0) 2024.07.22