spring cloud系列教程第八篇-修改服務名稱及獲取註冊中心註冊者的信息

spring cloud系列教程第八篇-修改服務名稱及獲取註冊中心註冊者的信息

本文主要內容:

1:管理頁面主機名及訪問ip信息提示修改

2:獲取當前註冊中心的服務列表及每個服務對於的服務提供者列表

本文是由凱哥(凱哥Java:kagejava)發佈的《spring cloud系列》教程的總第八篇:《修改服務名稱及獲取註冊中心註冊者的信息》。

本文是幾個維度中的第一個維度:註冊與發現維度配置中心管理之Eureka相關教程第五篇。

一:主機名及IP信息修改

在eureka管理頁面顯示的不是很友好。怎修改頁面機器名稱及訪問連接URL的提示,來方便管理呢?

 

主要由如下圖的兩個地方修改

 

1:修改服務名稱

先來看看當前問題:在註冊中心status中顯示的是機器ip,怎麼修改成顯示自己想要的?方便管理呢?

修改對應項目YML文件,在eureka相關配置中,添加 instance: instance-id: 自定義的名稱。需要注意的是,這個instance需要和client對齊的。

如我們想要修改payment8001這個項目對應的自定義名稱爲paymeng8001。修改如下:

instance: instance-id: payment8001

如下圖:

 

修改後,熟悉註冊中心的管理頁面:

 

2:修改範圍信息中IP信息提示。

現在問題:將鼠標放置在服務上,沒有ip提示。

修改方法:

同樣,在需要修改的服務yml文件的eureka相關配置中在instance-id下面添加prefer-ip-adderss:ture

比如我們修改payment8002的:

 

添加完成後,刷新頁面。我們可以看到:

 

以上修改相應代碼對應git的版本:

爲什麼要添加這些呢?是爲了訪問嗎服務管理。以後如果服務很多的話,我們想要知道對應服務的機器名稱或者是ip是什麼的時候,直接通過頁面就可以查看了。

二:獲取當前註冊中心的服務列表及每個服務對於的服務提供者列表

這裏就以payment8001爲例來獲取。

2.1:在controller中添加

@Resource

private DiscoveryClient discoveryClient;

 

2.2:獲取註冊中心所註冊的服務名稱(也就是application的名字)

//獲取註冊中心註冊的服務列表。對應的就是Application

List<String> applicationList = discoveryClient.getServices();

 

2.3:根據服務名稱獲取到對應的服務實例。也就是application後面的status信息

//獲取每個服務的提供者。對應的就是Application的status

List<ServiceInstance> instanceList = discoveryClient.getInstances(applicationName);

 

2.4:修改啓動類

在啓動類上添加啓用discoverClient的註解

 

2.5:寫測試類進行訪問測試。

編輯

重啓後,訪問,查看效果:

 

獲取到的信息和我們實際一致。說明從註冊中心獲取當前註冊的服務信息及服務對應實例信息獲取成功。

本案例代碼對應git上面的tag版本是: v0.1.3-20200504

7d76e4b43182ac9e0bf5dd5479910aa1.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章