내 springboot 서비스에서 회로 차단기 개념을 구현하기 위해 hystrix를 사용하고 있습니다. 다음과 같이 내가 스로틀에게 실패의 문턱 수의 경우 외부 서비스를 호출 할 필요가 방법에 사용하는 HystrixCommand 주석입니다 : 이제동적 hystrix 명령을 만드는 방법 threadPoolKey
@HystrixCommand(commandKey = "myCommandKey",
groupKey = "myGroupKey",
threadPoolKey = "myThreadPoolKey")
public String myHystrixMethod(String someParam) { ....}
, myHystrixMethod가 다른 클라이언트에 의해 호출있는 서비스를 제공합니다. 서비스를 호출하는 클라이언트의 유형에 따라 특정 클라이언트에 대해 지정된 백엔드 서비스를 호출하는 논리가 있습니다.
내가 원하는 것은 특정 클라이언트에 의해 호출 된 모든 스레드 (요청)를 자체 hystrix 스레드 풀에 등록하는 것입니다. 즉, 클라이언트 A의 요청은 클라이언트 A의 경우 hystrix 스레드 풀에 등록되고 클라이언트 B의 경우 hystrix 스레드 풀의 클라이언트 B에만 등록됩니다. 이렇게하면 내 서비스에 대한 클라이언트 B의 요청이 클라이언트 A의 실패로 인해 제한되지 않습니다.
이렇게하려면 모든 클라이언트에 대해 개별 서비스 메소드 (위에 표시된 것)를 생성하고 그에 따라 hystrix 스레드 풀의 이름을 지정할 수 있습니다. 그러나이 방법을 사용하면 새 클라이언트가있을 때마다 소스 코드를 수정하여 서비스 메소드를 추가해야합니다.
이 경우 클라이언트 ID 인 매개 변수를 기반으로 @HystrixCommand 주석 안에 옵션을 동적으로 만들 수있는 방법이 있습니까?
나는 그것이 가능하지 않다고 생각한다. 봐라. https://github.com/Netflix/Hystrix/issues/350 – pvpkiran
hystrix와 같이 보이지는 않습니다. hystriix와 같은 다른 회로 차단기 솔루션에는 동적으로 그러한 속성을 생성하는 좋은 옵션이 있습니까? – Hary
지루함과 탄력성 4j와 같은 다른 사서가 있습니다. 그러나 나는 당신이이 특징을 거기에서 발견 할 것이라고 생각하지 않는다. 외모를 가지고 우리에게 알려주십시오. :) – pvpkiran