SpringBoot連接Nacos集群報400問題及完美解決方法
問題描述
搭建一個Nacos集群,使用 SpringBoot 程序連接 Nacos 集群,在啟動的時候報異常,程序啟動失敗,而后程序假死。詳細(xì)控制臺日志信息如下:
failed to req API:/nacos/v1/ns/instance after all servers([192.168.1.169:8848]) tried: ErrCode:400, ErrMsg:<html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Tue Feb 08 21:19:48 CST 2022</div><div>There was an unexpected error (type=Bad Request, status=400).</div><div>receive invalid redirect request from peer 127.0.0.1</div></body></html>
環(huán)境
- NacosServer 版本:2.0.3
- NacosServer集群部署方式:在windows11下啟動三個實例,分別運行在8848,8858,8868端口上面,三個實例連接同一個MySQL數(shù)據(jù)庫
- NacosClient為 SpringBoot 程序,使用 SpringInitializr 創(chuàng)建,未引入其他無關(guān)依賴
- SpringBoot版本:2.5.3
- SpringCloud版本:2020.0.3
- SpringCloudAlibaba版本:2021.1
- 筆記本:酷睿I5-11代,RAM-16G
集群配置
cluster.conf
127.0.0.1:8848
127.0.0.1:8858
127.0.0.1:8868
解決辦法
刪除data文件夾重啟
Nacos 非常占資源,Windows11 下,啟動就能把CPU占到56%(酷睿I5-11代),啟動成功之后占了1.7G的內(nèi)存。此解決方法是百度出來的,首先停止 SpringBoot 程序、Nacos集群;然后刪除三個實例下面的 data 文件夾并重新啟動集群;最后重新啟動 SpringBoot。此時可以正常注冊到 Nacos 集群中, 每一個實例中的服務(wù)列表中都有該 SpringBoot 服務(wù)。
修改cluster.conf文件
本來以為上述方法已經(jīng)可以解決此問題,畢竟【百度】出來的!可是過了一會之后又報400問題,中間(應(yīng)該)沒有特別特殊的操作,無非(可能)就是重啟 SpringBoot 服務(wù),修改 Nacos 的 application.properties 文件和重啟集群等等。
重新排查了一遍,發(fā)現(xiàn)NacosWebUI中的 集群管理--->節(jié)點列表 中多了一個實例,變成了四個,重新查看了集群 cluster.conf, 發(fā)現(xiàn)每一個實例此配置文件中都多了一行【192.168.1.169:8858】。這行(好像)不是我加的,但是不管怎么說,這行都是不必須的,所以我決定刪除這行。首先停止 SpringBoot 程序、Nacos集群;然后刪除三個實例下面的 data 文件夾,刪除 cluster.conf 文件中無故(手殘?zhí)砑樱┰黾拥哪切?,并重新啟動集群;最后重新啟?SpringBoot。此時可以正常注冊到 Nacos 集群中, 每一個實例中的服務(wù)列表中都有該 SpringBoot 服務(wù)。
原因&原理
//todo
到此這篇關(guān)于解決SpringBoot連接Nacos集群報400問題的文章就介紹到這了,更多相關(guān)SpringBoot連接Nacos集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文帶你了解微服務(wù)架構(gòu)中的"發(fā)件箱模式"
微服務(wù)架構(gòu)如今非常的流行,這個架構(gòu)下可能經(jīng)常會遇到“雙寫”的場景。本文就和大家分享一個“發(fā)件箱模式”,?感興趣的小伙伴可以了解一下2023-01-01SpringBoot對Filter過濾器中的異常進行全局處理方案詳解
這篇文章主要介紹了SpringBoot對Filter過濾器中的異常進行全局處理,在SpringBoot中我們通過 @ControllerAdvice 注解和 @ExceptionHandler注解注冊了全局異常處理器,需要的朋友可以參考下2023-09-09java并發(fā)編程專題(二)----如何創(chuàng)建并運行java線程
這篇文章主要介紹了java并發(fā)編程如何創(chuàng)建并運行java線程,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法
這篇文章主要介紹了C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法,相比普通方法能夠在Windows下簡化很多操作步驟,需要的朋友可以參考下2016-04-04Java Testcontainers庫實現(xiàn)測試功能
這篇文章主要介紹了Java Testcontainers庫實現(xiàn)測試功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09關(guān)于maven打包時的報錯: Return code is: 501 , ReasonPhrase:HTTPS Requ
這篇文章主要介紹了關(guān)于maven打包時的報錯: Return code is: 501 , ReasonPhrase:HTTPS Required,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09