Недавно мне было поручено определить запасной вариант для наших существующих фиктивных клиентов в наших проектах весенней загрузки. Я провел небольшое исследование и, по-видимому, Hystrix
- это то, что нужно.
После интеграции с проектом я заметил, что каждый раз, когда я не получаю желаемый ответ от целевой службы (например, когда я получаю ответ со статусом http 403 вместо 200) em>, клиент переключается на резервный метод.
Что ж, в нашем случае это не тот поток. После поиска решений я обнаружил, что HystrixCommand
s - правильный способ справиться с этой проблемой. Согласно это я мог бы использовать @HystrixCommand, чтобы предотвратить запуск отката.
Я сделал это, но похоже, что это не работает.
Мой вопрос в том, как настроить hystrix в соответствии со своими потребностями.
Вот простая версия того, что я придумал:
@FeignClient(name="test-client", fallback=TestClientFallback.class)
public interface TestClient
{
//---I have emplemented a custom FeignDecoder to throw TestException
@HystrixCommand(ignoreExceptions=TestException.class)
Boolean isUserActive(Integer userId);
public class TestClientFallback implements TestClient
{
@Override
public Boolean isUserActive(Integer)
{
//---default fail over scenario
}
}
}
Заранее спасибо.