Автоматический выключатель Istio не размыкает цепь при последовательных ошибках, когда нисходящий сервис генерирует ошибки 5xx (500, 502, 503, 504) - PullRequest
4 голосов
/ 16 апреля 2019

У меня есть пара микросервисов, обслуживание клиентов и обслуживание клиентов.Первый вызывает последний.

Я установил автоматический выключатель в вызовах службы оценки клиентов и вынудил эту службу всегда выдавать ошибку 5xx для проверки автоматического выключателя.Однако обслуживание клиентов всегда вызывает его, по-видимому, цепь никогда не разомкнута.

Customer-Rating-Service - Виртуальная служба Istio

...
spec:
  hosts:
    - customer-rating-service
  gateways: ~
  http:
    - route:
        - destination:
            host: customer-rating-service
            subset: v1

customer-rating-service - Правило назначения Istio

...
spec:
  host: customer-rating-service
  trafficPolicy:
    outlierDetection:
      baseEjectionTime: 30s
      consecutiveErrors: 1
      maxEjectionPercent: 100
      minHealthPercent: 0
    tls:
      mode: ISTIO_MUTUAL
  subsets:
    - labels:
        version: v1
      name: v1

Как вы можете видеть, я установил consecutiveErrors: 1 после первого вызова из службы поддержки клиентов в службу оценки клиентов, поскольку это возвращает 5xxошибка (я пробовал выбрасывать разные ошибки 500, 502, 503 ...), цепь должна открыться.Однако каждый последующий вызов достигает обслуживания клиентов.В чем проблема?

ВНИМАНИЕ: существует только один экземпляр каждой службы.

...