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

workbunny/webman-nacos插件心跳報(bào)錯(cuò)

kylin87

問題描述

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

日志

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這邊要實(shí)現(xiàn)什么功能啊

1467 4 0
4個(gè)回答

chaz6chez

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

  • chaz6chez 2023-12-06

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

  • kylin87 2023-12-07

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

kylin87

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

  • kylin87 2023-12-07

    我看了源碼,請(qǐng)求的nacos接口,都是v1,目前nacos比較新的版本都是2.x.x,2.x的文檔,沒有心跳的api,是不是因?yàn)檫@個(gè)原因。但是我看v2的文檔,它是兼容v1的

  • chaz6chez 2023-12-08

    你的這個(gè)是因?yàn)橹白?cè)的是臨時(shí)實(shí)例,將臨時(shí)實(shí)例修改為非臨時(shí)實(shí)例時(shí),nacos會(huì)報(bào)400錯(cuò)誤,具體可自行百度can't register ephemeral instance相關(guān)內(nèi)容

  • kylin87 2023-12-08

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

  • chaz6chez 2023-12-08

    非臨時(shí)需要心跳

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • chaz6chez 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

    對(duì)了,我是用docker運(yùn)行的nacos-server

  • chaz6chez 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • kylin87 2023-12-08

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

  • chaz6chez 2023-12-08

    更新使用1.2.3版本即可

  • chaz6chez 2023-12-08

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

    其實(shí)也不是,因?yàn)楸镜販y(cè)試時(shí)候下意識(shí)會(huì)注冊(cè)127.0.0.1,所以nacos如果在docker容器中會(huì)探測(cè)不到,但在實(shí)際生產(chǎn)環(huán)境中,填寫127.0.0.1的場(chǎng)景基本上不存在,所以大可不必?fù)?dān)心;
    而當(dāng)nacos使用docker進(jìn)行本地開發(fā)環(huán)境部署的時(shí)候,為了保持統(tǒng)一,大概率其他項(xiàng)目也會(huì)同時(shí)使用docker環(huán)境,所以如果想要在開發(fā)環(huán)境中使用,其實(shí)注冊(cè)的時(shí)候通過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字段時(shí)bool,你改成字符串類型,再次嘗試

  • kylin87 2023-12-08

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

kylin87

截圖
截圖

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