自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SpringCloud實戰(zhàn)小貼士:隨機端口

開發(fā) 開發(fā)工具
在本文中,我們將介紹另外一種方法:采用隨機端口的方式來設(shè)置各個服務(wù)實例,這樣我們不用去編輯任何命令就可以在本地輕松地啟動多個實例了。

[[188448]]

在之前的《Spring Cloud構(gòu)建微服務(wù)架構(gòu)》系列博文中,我們經(jīng)常會需要啟動多個實例的情況來測試注冊中心、配置中心等基礎(chǔ)設(shè)施的高可用,也會用來測試客戶端負載均衡的調(diào)用等。但是,我們一個應(yīng)用只能有一個端口號,這就使得在本機測試的時候,不得不為同一個服務(wù)設(shè)置不同的端口來進行啟動。

在本地用不同端口啟動同一服務(wù)實例的方法有很多。最傳統(tǒng)的我們可以粗暴地修改配置文件中的server.port屬性來分別啟動多個實例,這種方法雖然可以實現(xiàn),但是非常的不方便。比較好的一種方法是在啟動的時候通過命令的方式為server.port屬性來設(shè)置不同的值,這樣我們的配置文件就不用反復(fù)的進行修改了。

在本文中,我們將介紹另外一種方法:采用隨機端口的方式來設(shè)置各個服務(wù)實例,這樣我們不用去編輯任何命令就可以在本地輕松地啟動多個實例了。

使用隨機端口

為Spring Cloud的應(yīng)用實用隨機端口非常簡單,主要有兩種方法:

  • 設(shè)置server.port=0,當應(yīng)用啟動的時候會自動的分配一個隨機端口,但是該方式在注冊到Eureka的時候會一個問題:所有實例都使用了同樣的實例名(如:Lenovo-zhaiyc:hello-service:0),這導(dǎo)致只出現(xiàn)了一個實例。所以,我們還需要修改實例ID的定義,讓每個實例的ID不同,比如使用隨機數(shù)來配置實例ID:
  1. server.port=0 
  2. eureka.instance.instance-id=${spring.application.name}:${random.int
  • 除了上面的方法,實際上我們還可以直接使用random函數(shù)來配置server.port。這樣就可以指定端口的取值范圍,比如:
  1. server.port=${random.int[10000,19999]} 

由于默認的實例ID會由server.port拼接,而此時server.port設(shè)置的隨機值會重新取一次隨機數(shù),所以使用這種方法的時候不需要重新定義實例ID的規(guī)則就能產(chǎn)生不同的實例ID了。

【本文為51CTO專欄作者“翟永超”的原創(chuàng)稿件,轉(zhuǎn)載請通過51CTO聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2017-10-18 16:00:14

SpringCloudZuul路徑

2017-05-19 15:13:05

過濾器Spring ClouZuul

2017-05-18 14:14:25

過濾器Spring ClouZuul

2017-07-31 15:47:50

Zuul統(tǒng)一處理

2017-05-02 23:05:44

HTTPZuulCookie

2021-03-26 06:01:45

日志MongoDB存儲

2022-04-09 14:45:02

微服務(wù)常見概念Spring

2017-08-10 16:14:07

FeignRPC模式

2017-09-26 16:17:39

Ribboneager-load模式

2017-10-20 14:55:06

Spring ClouZuul加載

2013-07-02 11:01:01

2010-12-14 09:15:50

Visual Stud

2016-12-01 13:50:38

2016-12-06 09:20:04

2023-02-23 08:00:00

Python機器學(xué)習(xí)編程代碼

2010-08-24 15:39:59

2015-08-20 10:00:45

可視化

2011-03-01 13:35:43

交換機限速

2025-04-14 05:00:00

2010-08-24 14:46:08

點贊
收藏

51CTO技術(shù)棧公眾號