Что такое instanceid в весенней эврике?

Я прочитал, что идентификатор экземпляра клиентов Eureka должен быть уникальным, и когда мы хотим запустить несколько экземпляров одного и того же клиента Eureka, мы добавляем это свойство:

eureka.instance.instance-id==${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${random.value}}

Какое значение имеет идентификатор экземпляра и как имеет значение приведенная выше строка?

2 ответа

Решение

Он используется для уникальной идентификации одного экземпляра нескольких служб. Например, если вы развернули два экземпляра одного и того же приложения весенней загрузки, идентификатор экземпляра используется для различения между ними.

Некоторые дополнительные варианты использования для PCF и AWS с идентификатором экземпляра можно найти в документации.

https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html

Вышеуказанное свойство просто берет другие свойства, объединяет их. Единственное замечание выше, что если spring.application_instance_id не найден в окружающей среде, он будет использовать random.value вместо. Вы можете переопределить, как хотите, но оно должно быть уникальным.

Клиент Eureka имеет идентификатор приложения и идентификатор экземпляра.Идентификатор приложения - это имя приложения, а идентификатор экземпляра - уникальный идентификатор, связанный с экземпляром клиента.

Это помогает Eureka Server различать разные клиентские экземпляры одного и того же приложения. В вашем примере строка, показанная ниже, устанавливает уникальный идентификатор экземпляра для вашего приложения, имеющего формат: <client host name>:<client app name>:<some random number>

eureka.instance.instance-id==${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${random.value}}

В моем примере, показанном ниже, идентификатор экземпляра имеет формат - <host name>:<app id>:<port>, Операция Eureka REST, показанная ниже, изменит статус клиента eureka с идентификатором приложения AUTHOR и идентификатор экземпляра 10.16.6.76:author:8766 в OUT_OF_SERVICE,

localhost:8761/eureka/apps/AUTHOR/10.16.6.76:author:8766/status?value=OUT_OF_SERVICE 

Если вы заметили, Eureka Server может однозначно идентифицировать клиента, если вы предоставите и идентификатор приложения, и идентификатор экземпляра.

Другие вопросы по тегам