1

J'ai un service avec 2 réplicas en cours d'exécution. Mais j'ai trouvé le service ayant 3 UP instances dans le tableau de bord d'eureka.Pourquoi eureka considère-t-il toujours un service «UP» même si son dernier délai de renouvellement était de deux jours

Ci-dessous l'info détaillée du service à eureka. L'instance problématique est 8d0c39f3ed9b: ocr-server: 8095, dont le dernier délai de renouvellement était il y a deux jours. Et l'URL d'état et d'intégrité ne peut PAS être consultée. Je me demande pourquoi eureka considère que c'est UP!

<application> 
<name>OCR-SERVER</name> 
<instance> 
<instanceId>211a4634b45f:ocr-server:8095</instanceId> 
<hostName>211a4634b45f</hostName> 
<app>OCR-SERVER</app> 
<ipAddr>10.0.0.38</ipAddr> 
<status>UP</status> 
<overriddenstatus>UNKNOWN</overriddenstatus> 
<port enabled="true">8095</port> 
<securePort enabled="false">443</securePort> 
<countryId>1</countryId> 
<dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"> 
<name>MyOwn</name> 
</dataCenterInfo> 
<leaseInfo> 
<renewalIntervalInSecs>30</renewalIntervalInSecs> 
<durationInSecs>90</durationInSecs> 
<registrationTimestamp>1505589414444</registrationTimestamp> 
<lastRenewalTimestamp>1505833520772</lastRenewalTimestamp> 
<evictionTimestamp>0</evictionTimestamp> 
<serviceUpTimestamp>1505589414444</serviceUpTimestamp> 
</leaseInfo> 
<metadata class="java.util.Collections$EmptyMap"/> 
<homePageUrl>http://211a4634b45f:8095/</homePageUrl> 
<statusPageUrl>http://211a4634b45f:8096/manage/info</statusPageUrl> 
<healthCheckUrl>http://211a4634b45f:8096/manage/health</healthCheckUrl> 
<vipAddress>ocr-server</vipAddress> 
<secureVipAddress>ocr-server</secureVipAddress> 
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer> 
<lastUpdatedTimestamp>1505589414444</lastUpdatedTimestamp> 
<lastDirtyTimestamp>1505589412731</lastDirtyTimestamp> 
<actionType>ADDED</actionType> 
</instance> 
<instance> 
<instanceId>8d0c39f3ed9b:ocr-server:8095</instanceId> 
<hostName>8d0c39f3ed9b</hostName> 
<app>OCR-SERVER</app> 
<ipAddr>10.0.0.38</ipAddr> 
<status>UP</status> 
<overriddenstatus>UNKNOWN</overriddenstatus> 
<port enabled="true">8095</port> 
<securePort enabled="false">443</securePort> 
<countryId>1</countryId> 
<dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"> 
<name>MyOwn</name> 
</dataCenterInfo> 
<leaseInfo> 
<renewalIntervalInSecs>30</renewalIntervalInSecs> 
<durationInSecs>90</durationInSecs> 
<registrationTimestamp>1505589356797</registrationTimestamp> 
<lastRenewalTimestamp>1505589356797</lastRenewalTimestamp> 
<evictionTimestamp>0</evictionTimestamp> 
<serviceUpTimestamp>1505589356797</serviceUpTimestamp> 
</leaseInfo> 
<metadata class="java.util.Collections$EmptyMap"/> 
<homePageUrl>http://8d0c39f3ed9b:8095/</homePageUrl> 
<statusPageUrl>http://8d0c39f3ed9b:8096/manage/info</statusPageUrl> 
<healthCheckUrl>http://8d0c39f3ed9b:8096/manage/health</healthCheckUrl> 
<vipAddress>ocr-server</vipAddress> 
<secureVipAddress>ocr-server</secureVipAddress> 
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer> 
<lastUpdatedTimestamp>1505589356797</lastUpdatedTimestamp> 
<lastDirtyTimestamp>1505589356787</lastDirtyTimestamp> 
<actionType>ADDED</actionType> 
</instance> 
<instance> 
<instanceId>0c62739f5ca8:ocr-server:8095</instanceId> 
<hostName>0c62739f5ca8</hostName> 
<app>OCR-SERVER</app> 
<ipAddr>10.0.0.34</ipAddr> 
<status>UP</status> 
<overriddenstatus>UNKNOWN</overriddenstatus> 
<port enabled="true">8095</port> 
<securePort enabled="false">443</securePort> 
<countryId>1</countryId> 
<dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"> 
<name>MyOwn</name> 
</dataCenterInfo> 
<leaseInfo> 
<renewalIntervalInSecs>30</renewalIntervalInSecs> 
<durationInSecs>90</durationInSecs> 
<registrationTimestamp>1505589403150</registrationTimestamp> 
<lastRenewalTimestamp>1505833509700</lastRenewalTimestamp> 
<evictionTimestamp>0</evictionTimestamp> 
<serviceUpTimestamp>1505589403150</serviceUpTimestamp> 
</leaseInfo> 
<metadata class="java.util.Collections$EmptyMap"/> 
<homePageUrl>http://0c62739f5ca8:8095/</homePageUrl> 
<statusPageUrl>http://0c62739f5ca8:8096/manage/info</statusPageUrl> 
<healthCheckUrl>http://0c62739f5ca8:8096/manage/health</healthCheckUrl> 
<vipAddress>ocr-server</vipAddress> 
<secureVipAddress>ocr-server</secureVipAddress> 
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer> 
<lastUpdatedTimestamp>1505589403150</lastUpdatedTimestamp> 
<lastDirtyTimestamp>1505589400020</lastDirtyTimestamp> 
<actionType>ADDED</actionType> 
</instance> 
</application> 

La configuration du client eureka ressemble ci-dessous,

eureka: 
    instance: 
    statusPageUrlPath: /info 
    healthCheckUrlPath: /health 
    preferIpAddress: false 
    client: 
    fetchRegistry: true 
    registryFetchIntervalSeconds: 5 
    healthcheck: 
     enabled: true 
    serviceUrl: 
     defaultZone: http://eureka-peer1:8761/eureka,http://eureka-peer2:8761/eureka 

La configuration du serveur eureka est,

eureka: 
    instance: 
    preferIpAddress: true 
    enableSelfPreservation: false 
    homePageUrl: http://${eureka.hostname}/ 
--- 
spring: 
    profiles: peer1 
eureka: 
    instance: 
    hostname: eureka-peer1 
    client: 
    serviceUrl: 
     defaultZone: http://eureka-peer2:${server.port}/eureka/ 

--- 
spring: 
    profiles: peer2 
eureka: 
    instance: 
    hostname: eureka-peer2 
    client: 
    serviceUrl: 
     defaultZone: http://eureka-peer1:${server.port}/eureka/ 

Et les clients eureka et les serveurs sont en cours d'exécution en essaim docker.

+0

enableSelfPreservation: false – spencergibb

+0

@spencergibb, j'ai déjà configuré 'enableSelfPreservation: false' dans le serveur eureka. Voulez-vous dire que cette option a également un impact sur le client? – Kane

Répondre

1

Votre serveur est probablement entré en mode de conservation automatique, c'est pourquoi vous voyez une instance périmée là.

Je vois que vous avez l'option enableSelfPreservation: false mais il n'est pas dans la bonne section, il devrait être eureka.server.enableSelfPreservation, votre entrée est sous eureka.instance.enableSelfPreservation ce qui ne va pas.

+0

Merci d'avoir signalé cette erreur stupide. – Kane