前言
在spring cloud構建微服務架構中,我們經常會需要啟動多個例項的情況來測試註冊中心、配置中心等基礎設施的高可用,也會用來測試客戶端負載均衡的呼叫等。但是,我們乙個應用只能有乙個埠號,這就使得在本機測試的時候,不得不為同乙個服務設定不同的埠來進行啟動。
在本地用不同埠啟動同一服務例項的方法有很多。最傳統的我們可以粗暴地修改配置檔案中的server.port屬性來分別啟動多個例項,這種方法雖然可以實現,但是非常的不方便。比較好的一種方法是在啟動的時候通過命令的方式為server.port屬性來設定不同的值,這樣我們的配置檔案就不用反覆的進行修改了。
在本文中,程式設計客棧我們將介紹另外一種方法:
採用隨機埠的方式來設定各個服務例項,這樣我們不用去編輯任何命令就可以在本地輕鬆地啟動多個例項了。
使用隨機端dgpaicy口
為spring cloud的應用實用隨機埠非常簡單,主要有兩種方法:
1、設定server.port=0,當應用啟動的時候會自動的分配乙個隨機埠,但是該方式在註冊到eureka的時候會乙個問題:所有例項都使用了同樣的例項名(如:lenovo-zhaiyc:hello-service:0),這導致只出現了乙個例項。所以,我們還需要修改例項id的定義,讓每個例項的id不同,比如使用隨機數來配置例項id:
server.port=0
eureka.instance.instance-id=$:$
2、除了上面的方法,實際上我們還可以直接使用random函式來配置server.port。這樣就可以指定埠的取值範圍,比如:
server.port=$
由於預設的程式設計客棧例項id會由server.port拼接,而此時server.port設定的隨機值會重新取一次隨機數,所以使用這種方法的時候不需要重新定義例項id的規則就能產生不同的例項id了。
總結本文標題: spring cloud實戰技巧之使用隨機埠
本文位址: /ruanjian/j**a/193256.html
Swift實戰技巧
swift實戰技巧 給oc呼叫的方法需要新增 objc標記,一般的action target的處理方法,通知的處理方法等需要新增 objc標記 objc func onrefresh 使用方法型如 selector 方法名稱 eg.selector self.onrefresh 更加詳細的介紹可以看...
Android實戰技巧 ViewStub的應用
在開發應用程式的時候,經常會遇到這樣的情況,會在執行時動態根據條件來決定顯示哪個view或某個布局。那麼最通常的想法就是把可能用到的view都寫在上面,先把它們的可見性都設為view.gone 然後在 中動態的更改它的可見性。這樣的做法的優點是邏輯簡單而且控制起來比較靈活。但是它的缺點就是,耗費資源...
Android實戰技巧 ViewStub的應用
在開發應用程式的時候,經常會遇到這樣的情況,會在執行時動態根據條件來決定顯示哪個view或某個布局。那麼最通常的想法就是把可能用到的view都寫在上面,先把它們的可見性都設為view.gone 然後在 中動態的更改它的可見性。這樣的做法的優點是邏輯簡單而且控制起來比較靈活。但是它的缺點就是,耗費資源...