2015-05-20 131 views
5

我們運行在對等Eureka配置中。請參閱下面的配置。服務實例註冊到同行的尤里卡服務

  1. 所以當服務啓動後,它們註冊10.202.10.95(初級),我們看到他們那裏有沒有顯示在10.202.10.97(二級)
  2. 如果我們殺10.202.10.95(中小學),那麼我們看到他們出現在10.202.10.97(次要尤里卡)。
  3. 如果我們重新啓動10.202.10.95(這是主要的),我們看到服務顯示在10.202.10.95和10.202.10.97上。所以,如果我們重啓10.202.10.97(二級)的服務都是尤里卡服務器
  4. 上可見,服務消失,都在初級(10.202.10.95)

案例3是不期而至我剛剛可見。這是不適當的點對點Eureka配置的情況嗎?

尤里卡配置如下:(我們指出這2個實例對於彼此在對等配置)

spring: 
    profiles: api06-prod-int-discoveryserver # 10.202.10.95 eureka host 
eureka: 
    client: 
    registerWithEureka: true 
    fetchRegistry: true 
    serviceUrl: 
     defaultZone: http://10.202.10.97:8761/eureka/ 

--- 
spring: 
    profiles: api05-prod-int-discoveryserver # 10.202.10.97 eureka host 
eureka: 
    client: 
    registerWithEureka: true 
    fetchRegistry: true 
    serviceUrl: 
     defaultZone: http://10.202.10.95:8761/eureka/ 

每個服務都有其配置來設置這樣尤里卡:(我們指向兩個以xxx95爲主的實例)

eureka: 
    # these are settings for the client that gets services 
    client: 
    # enable these two settings if you want discovery to work 
    registerWithEureka: true 
    fetchRegistry: true 
    serviceUrl: 
     defaultZone: http://10.202.10.95:8761/eureka/,http://10.202.10.97:8761/eureka/ 
+0

他們應該同步。對我來說,情況三是唯一有意義的。其他人看起來像是問題。同行應該總是知道向他人註冊的服務。這不是主/從配置。 – spencergibb

+0

好的,理解,所以我應該總是看到所有同行的服務。我應該設置哪些日誌以查看同級之間的同步? – EvilJinious1

回答

1

因此,繼其他一些帖子和Spencer的回覆之後,我檢查了我的配置是不正確的。我改變它後,它的反應正確。

這是尤里卡設置。我運行了2臺尤里卡服務器,一臺配置文件爲peer1,另一臺配置文件爲peer2。

--- 
spring: 
    profiles: peer1 # not standalone 

server: 
    port: 8761 

eureka: 
    instance: 
    hostname: peer2 
    leaseRenewalIntervalInSeconds: 3 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:8762/eureka/ 

--- 
spring: 
    profiles: peer2 # not standalone 

server: 
    port: 8762 

eureka: 
    instance: 
    hostname: peer1 
    leaseRenewalIntervalInSeconds: 3 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka/ 
    server: 
    waitTimeInMsWhenSyncEmpty: 0 

,我已經連接服務配置這樣

eureka: 
    client: 
    registerWithEureka: true 
    fetchRegistry: true 
    serviceUrl: 
     defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ 
    instance: 
    statusPageUrlPath: /${info.app.name}/manage/info 
    homePageUrlPath: /${info.app.name}/manage 
    healthCheckUrlPath: /${info.app.name}/manage/health 
    preferIpAddress: true 

我跑我的服務後,我可以看到它連接到兩個發現服務,如果我殺要麼則是在可見其他發現服務。

+0

我遇到了同樣的問題,你能幫我理解哪些屬性用於解決這個問題。 謝謝。 – 4rpit

相關問題