最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud+nacos部署在多ip環(huán)境下統(tǒng)一nacos服務(wù)注冊ip(親測有效)

 更新時(shí)間:2023年04月04日 15:22:40   作者:程序猿——小白菜  
在部署SpringCoud項(xiàng)目的時(shí)候分服務(wù)器部署注冊同一個(gè)nacos服務(wù),但是在服務(wù)器有多個(gè)ip存在的同時(shí)(內(nèi)外網(wǎng)),就會(huì)出現(xiàn)注冊服務(wù)ip不同的問題,導(dǎo)致一些接口無法連接訪問,經(jīng)過多次排查終于找到問題并找到解決方法,需要的朋友可以參考下

SpringCoud+nacos部署在多ip環(huán)境下統(tǒng)一nacos服務(wù)注冊ip

場景描述

在部署SpringCoud項(xiàng)目的時(shí)候分服務(wù)器部署注冊同一個(gè)nacos服務(wù),但是在服務(wù)器有多個(gè)ip存在的同時(shí)(內(nèi)外網(wǎng)),就會(huì)出現(xiàn)注冊服務(wù)ip不同的問題,導(dǎo)致一些接口無法連接訪問,經(jīng)過多次排查終于找到問題并找到解決方法,親測有效?。?!

方法

1.配置固定ip

在springcloud服務(wù)下的bootstrap.yml文件中配置
指定ip端口

application.properties下
指定ip端口
spring.cloud.nacos.discovery.ip = 127.0.0.1
spring.cloud.nacos.discovery.port = 8989

2.配置使用內(nèi)網(wǎng)前綴的ip

spring.cloud.inetutils.preferred-networks=10.25.14
使用前綴為10.25.14的ip比如:10.25.14.12,10.25.14.13.

3.配置固定網(wǎng)卡配置項(xiàng)

spring.cloud.nacos.discovery.networkInterface = eth0

親測有效?。?!

擴(kuò)展:SpringCloud以及Nacos服務(wù)注冊IP選擇問題

場景:

微服務(wù)部署后,需要相互調(diào)用,其中服務(wù)A調(diào)用服務(wù)B時(shí)發(fā)現(xiàn)無法調(diào)用。其中服務(wù)注冊和發(fā)現(xiàn)以及配置中心使用Nacos

分析:

檢查了多遍代碼后,沒有發(fā)現(xiàn)調(diào)用方式有問題,所以只能是網(wǎng)絡(luò)問題。通過postman直接調(diào)用服務(wù)B,發(fā)現(xiàn)可以調(diào)通,但是使用服務(wù)A不行,于是檢查服務(wù)A在注冊中心注冊的IP,發(fā)現(xiàn)和并不是服務(wù)B啟動(dòng)機(jī)器的IP。這就是問題所在了。

為什么注冊的IP和真實(shí)IP不符合呢?原因是Nacos客戶端在注冊服務(wù)時(shí)會(huì)從機(jī)器網(wǎng)卡中選擇一個(gè)IP來注冊,當(dāng)機(jī)器存在多個(gè)網(wǎng)卡(例如存在虛擬網(wǎng)卡)時(shí),所選則的IP可能不是真是的物理機(jī)的IP,所以,當(dāng)注冊了的是非真實(shí)IP后,另一臺(tái)機(jī)器調(diào)用時(shí)是不可能調(diào)通的。

解決:

知道問題后,就要解決,查了一下SpringCloud的官方文檔,發(fā)現(xiàn)有一項(xiàng)配置如下:

Sometimes, it is useful to ignore certain named network interfaces so that they can be excluded from Service Discovery registration (for example, when running in a Docker container). A list of regular expressions can be set to cause the desired network interfaces to be ignored.
You can also force the use of only specified network addresses by using a list of regular expressions.

spring:
  cloud:
	inetutils:
	  preferredNetworks:
		- 192.168
		- 10.0

該項(xiàng)配置用于指定首選IP,當(dāng)有多個(gè)網(wǎng)卡時(shí),指定該IP地址后(支持正則),客戶端在選擇IP時(shí)就會(huì)選擇符合preferredNetworks配置的IP地址進(jìn)行注冊。

同樣的,Nacos也可以配置自己的首選IP以及網(wǎng)卡選擇:

spring.cloud.nacos.discovery.ip:
spring.cloud.nacos.discovery.networkInterface

我們選擇其中一個(gè)配置就可以,都能達(dá)到相同的效果。

補(bǔ)充:

雖然問題解決了,但是還是要更深入的了解一下這個(gè)IP選擇的邏輯。翻了一通源碼發(fā)現(xiàn),其大致邏輯如下:

Nacos首先檢查有沒有ip及networkInterface配置,如果有則使用配置的IP,否則檢查networkInterface,并獲取IP,如果兩者都為空,則使用inetUtils.findFirstNonLoopbackHostInfo().getIpAddress()來獲取IP:

而findFirstNonLoopbackHostInfo()的部分邏輯如下:

它最終會(huì)返回一個(gè)匹配的IPV4地址,并且排除本機(jī)回環(huán)網(wǎng)絡(luò)(127.0.0.0-127.255.255.255),并且匹配是否是首選網(wǎng)絡(luò)(如果配置了preferredNetworks)。

All efforts, only for myself, no longer for others

到此這篇關(guān)于SpringCoud+nacos部署在多ip環(huán)境下統(tǒng)一nacos服務(wù)注冊ip的文章就介紹到這了,更多相關(guān)SpringCoud nacos部署服務(wù)注冊ip內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot2開發(fā)之Spring Boot整合Shiro兩種詳細(xì)方法

    Spring Boot2開發(fā)之Spring Boot整合Shiro兩種詳細(xì)方法

    這篇文章主要介紹了Spring Boot2開發(fā)之Spring Boot整合Shiro詳細(xì)方法,需要的朋友可以參考下
    2020-03-03
  • Java利用遺傳算法求解最短路徑問題

    Java利用遺傳算法求解最短路徑問題

    遺傳算法(Genetic Algorithm,GA)最早是由美國的John holland于20世紀(jì)70年代提出,該算法是根據(jù)大自然中生物體進(jìn)化規(guī)律而設(shè)計(jì)提出的。本文將利用遺傳算法求解最短路徑問題,需要的可以參考一下
    2022-06-06
  • RocketMQ消息發(fā)送與消息類別詳解

    RocketMQ消息發(fā)送與消息類別詳解

    這篇文章主要介紹了RocketMQ消息發(fā)送與消息類別詳解,事務(wù)消息的生產(chǎn)者執(zhí)行本地事務(wù),并根據(jù)事務(wù)執(zhí)行的結(jié)果選擇是否提交或回滾事務(wù),
    如果事務(wù)執(zhí)行成功并選擇提交事務(wù),則產(chǎn)生注冊成功消息,進(jìn)入下一步,需要的朋友可以參考下
    2023-09-09
  • JAVA使用DBUtils操作數(shù)據(jù)庫

    JAVA使用DBUtils操作數(shù)據(jù)庫

    這篇文章主要介紹了JAVA使用DBUtils操作數(shù)據(jù)庫的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家學(xué)習(xí)JAVA,感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot Cache緩存概念講解

    SpringBoot Cache緩存概念講解

    這篇文章主要介紹了Springboot cache緩存,使用緩存最關(guān)鍵的一點(diǎn)就是保證緩存與數(shù)據(jù)庫的數(shù)據(jù)一致性,本文給大家介紹最常用的緩存操作模式,對Springboot cache緩存操作流程感興趣的朋友一起看看吧
    2022-12-12
  • 解決Spring Boot中Druid連接池“discard long time none received connection“警告

    解決Spring Boot中Druid連接池“discard long time 

    本文主要介紹了解決Spring Boot中Druid連接池“discard long time none received connection“警告,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • SpringMVC?RESTFul實(shí)現(xiàn)列表功能

    SpringMVC?RESTFul實(shí)現(xiàn)列表功能

    這篇文章主要為大家介紹了SpringMVC?RESTFul實(shí)現(xiàn)列表功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 關(guān)于ArrayList初始化容量的問題

    關(guān)于ArrayList初始化容量的問題

    這篇文章主要介紹了關(guān)于ArrayList初始化容量的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring?Cloud原理以及核心組件詳解

    Spring?Cloud原理以及核心組件詳解

    這篇文章主要介紹了Spring?Cloud原理以及核心組件詳解,spring?cloud有5個(gè)核心組件,文章中進(jìn)行了一一的詳細(xì)介紹,需要的朋友可以參考下
    2023-03-03
  • SpringBoot集成Quartz實(shí)現(xiàn)持久化定時(shí)接口調(diào)用任務(wù)

    SpringBoot集成Quartz實(shí)現(xiàn)持久化定時(shí)接口調(diào)用任務(wù)

    Quartz是功能強(qiáng)大的開源作業(yè)調(diào)度庫,幾乎可以集成到任何?Java?應(yīng)用程序中,從最小的獨(dú)立應(yīng)用程序到最大的電子商務(wù)系統(tǒng),本文將通過代碼示例給大家介紹SpringBoot集成Quartz實(shí)現(xiàn)持久化定時(shí)接口調(diào)用任務(wù),需要的朋友可以參考下
    2023-07-07

最新評論

蛟河市| 黎平县| 江陵县| 东海县| 吉隆县| 霸州市| 梧州市| 林口县| 白水县| 韶关市| 江安县| 浠水县| 卓尼县| 黄浦区| 德保县| 高要市| 历史| 华坪县| 潼关县| 桦川县| 南陵县| 海晏县| 青岛市| 菏泽市| 马关县| 资源县| 九江县| 咸阳市| 库车县| 璧山县| 宜良县| 郎溪县| 天柱县| 泸定县| 张家港市| 大城县| 罗定市| 白玉县| 乌兰县| 南安市| 吴江市|