国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workbunny/webman-nacos插件心跳報錯

kylin87

問題描述

nacos那邊可以看到服務(wù),但是健康狀態(tài)在1和0來回變更,查看日志,一直有這條日志的報錯。
本身使用沒什么問題,可以使用

日志

default.ERROR: Nacos instance heartbeat failed: [0] caused: errCode: 400, errMsg: Current service DEFAULT_GROUP@@finance is persistent service, can't register ephemeral instance. ;. {"name":"main","trace":[]}

是不是webman這邊要實現(xiàn)什么功能啊

1499 4 0
4個回答

chaz6chez

提供一下nacos版本、php版本、插件版本、運行環(huán)境

  • chaz6chez 2023-12-06

    另外,可以先嘗試將配置文件中的ephemeral字段的值改成字符串類型,比如'false'

  • kylin87 2023-12-07

    插件版本是1.2.2,我看默認(rèn)這個字段就是字符串類型的'false'
    nacos版本是2.2.3 php版本是8.1。環(huán)境是centos7.6

kylin87

插件版本是1.2.2,我看默認(rèn)這個字段就是字符串類型的'false'
nacos版本是2.2.3 php版本是8.1。環(huán)境是centos7.6

  • kylin87 2023-12-07

    我看了源碼,請求的nacos接口,都是v1,目前nacos比較新的版本都是2.x.x,2.x的文檔,沒有心跳的api,是不是因為這個原因。但是我看v2的文檔,它是兼容v1的

  • chaz6chez 2023-12-08

    你的這個是因為之前注冊的是臨時實例,將臨時實例修改為非臨時實例時,nacos會報400錯誤,具體可自行百度can't register ephemeral instance相關(guān)內(nèi)容

  • kylin87 2023-12-08

    ephemeral這個字段一直都默認(rèn)的‘false’,應(yīng)該是注冊的非臨時實例吧。非臨時實例需要心跳嗎

  • chaz6chez 2023-12-08

    非臨時需要心跳

  • kylin87 2023-12-08

    按照目前的條件,ephemeral這個字段一直都默認(rèn)的‘false’,應(yīng)該是注冊的非臨時實例吧。心跳的發(fā)送信息,我也打印看了,也是非臨時實例的心跳。但是還是提示service DEFAULT_GROUP@@finance is persistent service, can't register ephemeral instance

  • kylin87 2023-12-08

    按照網(wǎng)上的說法,把raft文件夾內(nèi)的清除,重啟nacos。其實并未解決問題。因為從開始就注冊的非臨時實例,后續(xù)發(fā)送的心跳也是非臨時實例的心跳參數(shù),目前還是這個錯誤日志。但是我覺得應(yīng)該不是該插件的問題了

  • kylin87 2023-12-08

    基本確定是nacos-server的問題了,我這邊把nacos版本換成了2.0.3后,就沒有上述問題了。

  • kylin87 2023-12-08

    不過又出現(xiàn)了,之前出現(xiàn)過的問題。就是之前發(fā)過的問題。http://m.wtbis.cn/q/11680

  • chaz6chez 2023-12-08

    你是使用的配置文件默認(rèn)進(jìn)行注冊實例,還是通過自己代碼實現(xiàn)的方式自行自定義注冊的?

  • kylin87 2023-12-08

    配置文件默認(rèn)進(jìn)行注冊的,沒有自定義注冊過

  • kylin87 2023-12-08

    我這邊經(jīng)過多個nacos-server版本的測試。2.0.3及之前的,沒有 is persistent service, can't register ephemeral instance這個報錯,但是會出現(xiàn)2個實例,1個健康,1個不健康這個問題。2.0.3之后的,沒有這個2個實例的問題,但是會出現(xiàn)is persistent service, can't register ephemeral instance

  • kylin87 2023-12-08

    對了,我是用docker運行的nacos-server

  • chaz6chez 2023-12-08

    稍安勿躁,在修復(fù)

  • kylin87 2023-12-08

    好的,感謝感謝,辛苦了。我這邊查了一些資料,資料上說,對于臨時實例,需要服務(wù)提供者主動向nacos發(fā)送心跳,5s一次,15s不發(fā),就從服務(wù)中剔除。對于永久實例,變成了由nacos主動探測服務(wù)提供者,它的探測周期是 2000 毫秒 + 隨機(jī)數(shù)(5000 毫秒以內(nèi)),如果檢測異常會將此服務(wù)實例,標(biāo)記為非健康實例,但不會把服務(wù)實例向臨時實例那樣進(jìn)行刪除。

  • kylin87 2023-12-08

    在nacos2.0.4版本下,我嘗試在app.php中將要注冊的實例,'ephemeral' => 'true',主動標(biāo)記為臨時實例,則一切正常了,也不會出現(xiàn)心跳的錯誤日志了??赡茏兿嗟恼f明,對于永久實例,是不需要服務(wù)提供者主動心跳的
    以上猜測,僅供參考,對nacos,我還是初學(xué)者

  • kylin87 2023-12-08

    我好像找到原因了。根據(jù)上面的規(guī)則,永久實例是需要接受探測的,因為我的nacos是在容器內(nèi),如果配置的是127.0.0.1的話,nacos容器對宿主機(jī)的探測肯定是失敗的,我調(diào)整后,讓容器可以訪問宿主后,這個永久實例開始保持健康了,但是日志中仍然有主動心跳報錯的日志,應(yīng)該是需要移除那些永久實例的主動心跳

  • kylin87 2023-12-08

    總的來說,如果nacos部署在docker的話,永久實例要保證容器內(nèi)的nacos可以訪問到服務(wù)提供者,這種容器內(nèi)的nacos-server其實建議直接使用臨時實例即可。
    如果nacos是單獨部署的,或者mse的這種,可以使用永久實例,但是最好等待插件修復(fù)永久實例主動心跳的bug

  • chaz6chez 2023-12-08

    更新使用1.2.3版本即可

  • chaz6chez 2023-12-08

    總的來說,如果nacos部署在docker的話,永久實例要保證容器內(nèi)的nacos可以訪問到服務(wù)提供者,這種容器內(nèi)的nac> os-server其實建議直接使用臨時實例即可。
    如果nacos是單獨部署的,或者mse的這種,可以使用永久實例,但是最好等待插件修復(fù)永久實例主動心跳的bug

    其實也不是,因為本地測試時候下意識會注冊127.0.0.1,所以nacos如果在docker容器中會探測不到,但在實際生產(chǎn)環(huán)境中,填寫127.0.0.1的場景基本上不存在,所以大可不必?fù)?dān)心;
    而當(dāng)nacos使用docker進(jìn)行本地開發(fā)環(huán)境部署的時候,為了保持統(tǒng)一,大概率其他項目也會同時使用docker環(huán)境,所以如果想要在開發(fā)環(huán)境中使用,其實注冊的時候通過host.docker.internal即可

  • kylin87 2023-12-08

    非常感謝。另外,1.2.3版本出現(xiàn)了較大的bug,我已經(jīng)提交了pr嘗試修復(fù),再次感謝

  • chaz6chez 2023-12-08

    已合并,發(fā)布了1.2.4

kylin87

心跳的發(fā)送信息如下:

{
  ["serviceName"]=>
  string(11) "finance"
  ["ip"]=>
  string(9) "127.0.0.1"
  ["port"]=>
  int(9514)
  ["groupName"]=>
  string(13) "DEFAULT_GROUP"
  ["namespaceId"]=>
  string(0) ""
  ["ephemeral"]=>
  bool(false)
  ["beat"]=>
  string(58) "{"ip":"127.0.0.1","port":9514,"serviceName":"finance"}"
}
  • chaz6chez 2023-12-08

    心跳發(fā)送信息ephemeral字段時bool,你改成字符串類型,再次嘗試

  • kylin87 2023-12-08

    我手動通過文檔的參數(shù),自行發(fā)心跳,bool和字符串,都是同樣的返回那個錯誤

kylin87

截圖
截圖

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??