Arhn - архитектура программирования

Как выполнить отработку отказа с помощью Netflix/Eureka?

Я использую Eureka в качестве службы обнаружения и балансировщика нагрузки, и она отлично работает при наличии двух экземпляров службы «A», однако, когда я останавливаю один из этих экземпляров, Eureka не распознает, что один из экземпляров не работает и это заставляет меня показывать страницу с ошибкой каждый раз, когда балансировщик нагрузки пытается использовать мертвый экземпляр.

Я поставил enableSelfPreservation на false, чтобы предотвратить это, но Eureka требуется до 3-5 минут, чтобы отменить регистрацию этой службы, однако мне нужна высокая доступность моей службы, и я хочу выполнить отработку отказа немедленно за считанные секунды. Возможно ли это с помощью Eureka, если нет, как я могу использовать только живые экземпляры, когда остальные мертвы.

Я использую весеннюю загрузку, вот моя конфигурация для сервера Eureka.

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
    enableSelfPreservation: false

Ответы:


1

Вы должны добавить конфигурацию ленты в ваш application.yml. Также рекомендуется установить уровень изоляции hystrix на THREAD с установленным временем ожидания.

Примечание. Эта конфигурация должна быть на стороне клиента (обычно это означает ваш сервер шлюза), поскольку Ribbon (и Spring Cloud в целом) — это форма балансировки нагрузки на стороне клиента.

Вот пример, который я использую:

hystrix:
  command:
    default:
      execution:
        isolation:
          strategy: THREAD
          thread:
            timeoutInMilliseconds: 40000 #Timeout after this time in milliseconds

ribbon:
  ConnectTimeout: 5000 #try to connect to the endpoint for 5 seconds.
  ReadTimeout: 5000 #try to get a response after successfull connection for 5 seconds
  # Max number of retries on the same server (excluding the first try)
  maxAutoRetries: 1
  # Max number of next servers to retry (excluding the first server)
  MaxAutoRetriesNextServer: 2
19.06.2016
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..