Почему микросервис принимает событие запроса, хотя оно выключено в реестре сервера eureka? - PullRequest
0 голосов
/ 21 января 2019

У меня есть несколько микросервисов, зарегистрированных на сервере Eureka (http://localhost:10100)

Я удаляю экземпляр с сервера eureka, используя приведенный ниже REST API

Ссылка: https://github.com/Netflix/eureka/wiki/Eureka-REST-operations

1) Удалить экземпляр с сервера eureka (УДАЛИТЬ) (Он удаляет экземпляр, но снова регистрируется ..)

http://localhost:10100/eureka/apps/MICRO-SERVICE-1/localhost:micro-service-1:10501

2) Обновить статус службы на ВНИЗ /OUT_OF_SERVICE

http://localhost:10100/eureka/apps/MICRO-SERVICE-1/localhost:micro-service-1:10501/status?value=DOWN

Таким образом, даже если состояние микро-службы-1 установлено на DOWN / OUT_OF_SERVICE, я могу отправить запрос в микро-службу-1 (http://localhost:10501/MyService/hello)

Вместо этого он должен быть недоступен, но принимает запрос на ответ.

Итак, почему микросервис принимает событие запроса, хотя его статус в реестре сервера eureka не работает?

Приложение Eureka Server application.ymlфайл

server:
  port: 10100
  address: localhost
eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:10100/eureka/
  instance:
    prefer-ip-address: true
  server:
    enable-self-preservation: true
    wait-time-in-ms-when-sync-empty: 0

Eureka Client (микро-сервис-1) application.yml файл

server:
  port: 10501
  address: localhost
eureka:
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://localhost:10100/eureka/
  instance:
    hostname: localhost
    prefer-ip-address: true

1 Ответ

0 голосов
/ 21 января 2019

Ваш сервис не имеет встроенного способа интерпретации того, что вы отключили его в Eureka, поэтому вызов вашего сервиса путем прямого нажатия на его порт всегда будет работать.

Чтобы использовать знания каталога о состоянии сервера и множественных экземплярах серверов, вам необходимо вызвать службу из API, например tape , который может создать программный балансировщик нагрузки из каталога. Вы также можете совершать звонки через Zuul API-прокси , который по сути является просто микросервисом, встроенным внутри ленты.

Во всех этих случаях помните, что облачные микросервисы в конечном итоге согласуются . То есть внесенные вами изменения могут быть недоступны мгновенно, и для их распространения потребуется время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...