摘要:在開發中經常會碰到應用在啟動成功以后,發現注冊到注冊中心的不是自己想要的。配置忽略網絡接口使用中運行服務時,服務注冊的時候,可以忽略掉一些指定名稱的網絡接口,想要忽略的網絡接口的名稱可以使用正則表達式來配置。
在開發中經常會碰到SpringBoot應用在啟動成功以后,發現注冊到注冊中心的IP不是自己想要的。實際開發聯調的時候也經常碰到自己本地啟動應用怎么獲取到一個怪怪的IP,通過別的機器無法連接到這個IP。發現有虛擬機的時候,就把虛擬機網卡停掉,然后才能獲取本地局域網IP。當然也可以每個服務都指定IP的方式來解決這個問題,只有幾個實例還可以,但是有幾十或者上百個實例如何解決呢?
出現這種問題的原因是當前機器有多個網卡(如有虛擬網卡)造成的,SpringBoot在獲取IP的時候無法獲取到正確的IP,在實際生產環境中服務器本身也有多塊網卡,SpringBoot啟動時只能選擇一個IP,能否通過簡單的配置就能解決這個問題呢?答案是,可以的,SpringBoot本身自帶這種功能。
SpringBoot提供了三種配置方式,可以多帶帶使用,也可以混合使用。
配置忽略網絡接口使用Docker中運行SpringBoot服務時,服務注冊的時候,可以忽略掉一些指定名稱的網絡接口,想要忽略的網絡接口的名稱可以使用正則表達式來配置。下面的配置就是忽略名稱為docker0網絡接口和所有名稱以veth開頭的網絡接口:
application.yml.
spring: cloud: inetutils: ignoredInterfaces: - docker0 - veth.*配置使用指定網絡接口
相反,也可以使用正則表達式配置只使用指定的網絡接口地址,下面配置的例子就只使用192.168開頭和10.0開頭的ip地址,其他的地址都不會使用。
bootstrap.yml.
spring: cloud: inetutils: preferredNetworks: - 192.168 - 10.0配置使用site-local地址
如果SpringBoot服務只是在局域網內使用,不會被外部調用的話,就可以使用site-local方式配置,配置方式如下:
.application.yml
spring: cloud: inetutils: useOnlySiteLocalInterfaces: true
你在實際使用過程中是否也碰到了這種問題呢?幫你解決問題了嗎?有問題可以加我的微信(zhuzhsh)或者關注我的公眾號(xtech100)持續關注喲!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27570.html
摘要:前言我們一起回顧上一篇文章平臺的微服務架構和,一共通過構建了三個鏡像數據庫,部署前端頁面的,和接口。最近阿里云產品春節大促銷,我一時沒忍住又買了一臺服務器,打完折扣還是很貴。是一個非常穩定的,可移植的網絡文件系統。 前言 我們一起回顧上一篇文章《Bees平臺的微服務架構(1)docker和docker-compose》,一共通過Dockerfile構建了三個docker鏡像:mysql...
摘要:或許你的第一次微服務體驗,就從本文開始在本文中,和等紛紛亮相,并配有詳細的代碼說明。該角色與本地網絡及的配置設置相關。由于會在虛擬機初始化過程中自動執行配置任務,因此惟一的解決辦法就是將相關內容提取至單獨的劇本當中 這是一篇溫和有趣的技術文章,如果你初識Docker,對微服務充滿興趣,不妨一讀。或許你的第一次微服務體驗,就從本文開始…… 在本文中,Mesos、Zookeeper、Ma...
摘要:文件服務器項目為文章共享社區,少不了的就是一個存儲文章的文件服務器,包括存儲一些圖片之類的靜態資源。例如數據庫的數據文件的配置文件和文件服務器目錄。 前言 這是一次完整的項目實踐,Angular頁面+Springboot接口+MySQL都通過Dockerfile打包成docker鏡像,通過docker-compose做統一編排。目的是實現整個項目產品的輕量級和靈活性,在將各個模塊的鏡像...
閱讀 1406·2021-11-19 11:38
閱讀 3562·2021-11-15 11:37
閱讀 803·2021-09-30 09:48
閱讀 946·2021-09-29 09:46
閱讀 893·2021-09-23 11:22
閱讀 1871·2019-08-30 15:44
閱讀 3389·2019-08-26 13:58
閱讀 2380·2019-08-26 13:26