Eureka服務註冊不可用問題
最近開發了一個微服務的產品,使用Eureka作為服務註冊中心,在測試環境時執行正常,但是部署到生產環境時出現Connection Refuse異常,檢查發現服務從Eureka拿到的服務列表的服務地址不可用。
整個產品使用Docker容器部署,並通過Docker Compose進行容器編排,服務註冊預設註冊地址是容器內部的地址,由於測試環境時單臺伺服器,所有沒有出現問題。生產環境是多臺伺服器分散式部署,就會出現這個問題,可以通過配置服務例項註冊IP地址解決這個問題。
配置如下:
# 指定服務註冊的宿主ip
eureka.instance.ip-address=192.168.1.1
# 配置註冊時使用ip而不是主機名
eureka.instance.prefer-ip-address=true
同時,如果一個微服務需要多接點部署時,需保證Instance ID唯一,否則僅有一個節點註冊成功。
配置項如下:
# 制定instance-id的生成策略,按實際調整,確保每個服務唯一即可。
eureka.instance.instance-id=${spring.application.name}:${server.port}:${random.int}
相關文章
- 服務註冊-Eureka
- 服務註冊中心之Eureka使用
- Eureka服務註冊與發現
- 服務註冊與發現【Eureka】- Eureka簡介
- SpringColud Eureka的服務註冊與發現SpringGC
- SpringCloud(3)---Eureka服務註冊與發現SpringGCCloud
- SpringCloud服務的註冊與發現(Eureka)SpringGCCloud
- Eureka實現服務註冊與發現
- Eureka的InstanceInfoReplicator類(服務註冊輔助工具)
- [SpringCloud教程]3. Eureka服務註冊中心整合SpringGCCloud
- 通過Eureka中已經註冊的服務名,呼叫服務
- Spring Cloud Eureka 實現服務註冊與發現SpringCloud
- Spring Cloud 系列(一)Eureka 服務註冊與發現SpringCloud
- SpringCloud-eureka服務註冊發現以及消費流程SpringGCCloud
- Spring Cloud 入門教程 – Eureka服務註冊與發現SpringCloud
- Spring Cloud Eureka原理分析(一):註冊過程-服務端SpringCloud服務端
- 每天學點SpringCloud(二):服務註冊與發現EurekaSpringGCCloud
- Spring Cloud 入門教程 - Eureka服務註冊與發現SpringCloud
- 微服務學習小結-Eureka如何實現註冊中心,以及服務之間的註冊、呼叫微服務
- Spring Cloud Eureka 實現高可用服務發現註冊中心SpringCloud
- eureka踩過的坑之註冊服務相互之間呼叫
- Spring Cloud:使用Eureka叢集搭建高可用服務註冊中心SpringCloud
- Spring Cloud實戰系列(一) - 服務註冊與發現EurekaSpringCloud
- SpringCloud學習之路(二)- 服務的註冊與發現EurekaSpringGCCloud
- SpringCloud元件 & 原始碼剖析:Eureka服務註冊方式流程全面分析SpringGCCloud元件原始碼
- SpringCloud學習筆記:服務註冊與發現Eureka(2)SpringGCCloud筆記
- Eureka註冊中心
- 微服務之Eureka(二)服務中心互相註冊-Ribbon的結合使用微服務
- SpringCloud——Eureka-微服務的註冊中心SpringGCCloud微服務
- Spring Cloud Eureka原理分析(三):註冊資訊讀取(服務端)SpringCloud服務端
- mysql註冊服務MySql
- 呼叫註冊到eureka server上的微服務,通過微服務名字呼叫,獲取服務例項慢或者失敗的問題Server微服務
- 微服務架構 | 3.1 Netflix Eureka 註冊中心微服務架構
- SpringCloud核心教程 | 第三篇:服務註冊與發現 Eureka篇SpringGCCloud
- SpringCloud 教程 | 第一篇: 服務的註冊與發現(Eureka)SpringGCCloud
- 記一次eureka客戶端註冊失敗的問題客戶端
- nacos 服務註冊原理
- SpringCloud之服務註冊SpringGCCloud