SpringBoot 學習系列 配置隨機埠
一 springboot 配置埠的方式一般有3種
1 實現 EmbeddedServletContainerCustomizer 介面並重寫 customize方法
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
//配置埠號
container.setPort(8080);
}
2 在application.poroperties檔案中配置
server.port=8080
3 application.yml檔案中配置
server:
port: 8080
二 隨機埠有兩種方法
server:
port: 0
context-path: /
Eureka指顯示1個事例id memberservice:0
實際上啟動了3個memberService服務
2 使用random隨機數來生成隨機埠,可有效解決方式1的事例id重複問題,但是會導致serviceId和你的服務實際埠不一樣,最終導致Eureka註冊成功但消費服務失敗
server: port: ${random.int[10000,19999]} context-path: /
3 結合方法1 設定port為0 並通過隨機函式配置instanceId
server:
port: 0 #隨機埠
context-path: /
eureka:
client:
register-with-eureka: true
fetch-registry: false
serviceUrl:
defaultZone: http://www.xxx.com:7070/eureka/
instance:
instance-id: memberService:${random.int[10000,19999]}