我讀了尤里卡客戶的實例ID必須是唯一的,當我們希望運行相同尤里卡客戶端的多個實例,那麼我們添加該屬性:春天尤里卡的instanceid是什麼?
eureka.instance.instance-id==${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${random.value}}
什麼是實例ID,以及如何的意義上面的線是否重要?
我讀了尤里卡客戶的實例ID必須是唯一的,當我們希望運行相同尤里卡客戶端的多個實例,那麼我們添加該屬性:春天尤里卡的instanceid是什麼?
eureka.instance.instance-id==${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${random.value}}
什麼是實例ID,以及如何的意義上面的線是否重要?
它用於唯一地標識多個服務的單個實例,例如,如果您部署了同一個Spring引導應用程序的兩個實例,則使用實例ID來區分它們。
有關PCF和AWS w/Instance ID的其他一些用例可以在文檔中找到。
https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html
上述屬性簡單地取其他性質,將它們組合。上面唯一的問題是如果在環境中找不到spring.application_instance_id
,它將使用random.value
代替。不管你喜歡但你可以重寫,但它應該是唯一的。
甲尤里卡客戶端具有應用ID和實例ID。 T he 應用程序ID是應用程序的名稱,而實例ID是與客戶端實例關聯的唯一ID。
這有助於尤里卡服務器使同一應用程序的不同的客戶端實例之間的區別。在你的榜樣,下面顯示的行設置一個唯一的實例ID爲您的有格式的應用程序:<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}}
在我的例子如下圖所示,實例ID的格式 - <host name>:<app id>:<port>
。 下面顯示的尤里卡REST操作將更改應用程序ID爲AUTHOR
,實例ID爲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
如果您發現,如果您同時提供應用程序ID和實例ID,則Eureka服務器可以唯一標識客戶端。
我讀的默認實例ID爲主機:端口。因此,如果我的實例在不同的端口上運行,並因此具有唯一的實例ID,那麼爲什麼我需要像這樣編輯實例ID? – codingsplash
如果您可以保證您的應用程序將在不同的端口上運行,並且實例ID *將*唯一,則不需要。當部署到像PCF這樣的東西時,它不會是唯一的,因爲將爲每個實例設置端口,因此實例ID將發生衝突。 –