Spring Cloud構建企業級匯流排-第十一部分常見問題
阿新 • • 發佈:2019-02-07
- 問題一:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
- 問題二:Eureka的高可用方案 上面的例子中,Eureka只有一個8761的註冊中心,那麼如何避免單點問題呢?
- 問題三:為什麼不用zookeeper做註冊中心 在使用dubbo時,一般都結合zk(作為註冊中心)來使用。那為什麼SpringCloud中使用Eureka,而不是zk呢?
- 問題四:spring eurake中使用IP註冊:在開發spring cloud的時候遇到一個很奇葩的問題,就是服務向spring eureka中註冊例項的時候使用的是機器名,然後出現localhost、xxx.xx等這樣的內容,如下圖:
答:大量網上說是eureka.instance.preferIpAddress=true,但是實際上貌似這個引數並沒有起作用,最後修改C:\Windows\System32\drivers\etc\hosts檔案新增主機名對映解決了。
- 問題五:斷路器feigh:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
- 問題六:Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'profile' in string value "${profile}"
解決方法:配置檔案中檔案目錄和名字不對。分散式配置客戶端必須要bootstrap.properties檔案。spring.cloud.config.label表示配置的檔名。spring.application.nam表示檔案中key值。spring.cloud.config.label表示配置檔案上級目錄名。
- 問題七:No label found for: trunk
- 問題八:如何解決Eureka Server不踢出已關停的節點的問題
eureka:
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000
客戶端配置:eureka:
client:
healthcheck:
enabled: true
instance:
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 10
- 問題九:如何解決重新整理不允許:Method Not Allowed HttpRequestMethodNotSupportedException
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>