大佬能不能出個業(yè)務(wù)開發(fā)的實戰(zhàn)呀,給你投幣三連!
取決于你的服務(wù)是什么通訊方式,假設(shè)你的服務(wù)就是普通的REST-API的話,那就用guzzle唄;當然你的服務(wù)在注冊到nacos的時候可以在元數(shù)據(jù)里增加一些使用者關(guān)注的內(nèi)容,比如通訊協(xié)議、基礎(chǔ)服務(wù)接口等等;當調(diào)用者拿到元數(shù)據(jù)就可以知道是用http還是rpc還是grpc還是其他什么方式來調(diào)用服務(wù)了
通過實例列表獲取實例,然后客戶端根據(jù)一些權(quán)重算法等機制做負載就好了,選擇一個,拼接器地址,根據(jù)約定的請求方式建立連接并發(fā)起請求即可
插件不能禁用嗎? enable設(shè)置為false,仍會調(diào)用
目前來說都是以顯式調(diào)用來進行的處理和判斷,一般情況建議使用serviceClass或者外包一層業(yè)務(wù)class來處理,而并非直接在業(yè)務(wù)代碼段使用NacosClientClass,如果需要可以在NacosClient外包一層class,比如一個serviceClass,然后使用enable判斷是否真正執(zhí)行NacosClient的業(yè)務(wù),當然,也可以提一個pr,在NacosClient初始化的部分進行處理,或者你提一個issue,我會將issue關(guān)聯(lián)project,然后會排期進行處理;目前手上的東西比較多,比較忙,可能不能及時處理。
[2023-08-10 15:14:16] default.ERROR: Nacos instance heartbeat failed: [0] caused: errCode: 400, errMsg: Current service DEFAULT_GROUP@@webman is persistent service, can't register ephemeral instance. ;. {"name":"main","trace":[]} []
跑原始代碼,報錯是這樣的,nacos2.2.3 php7.4.3
可以參考這個 https://github.com/workbunny/webman-nacos/issues/11
把配置文件中的ephemeral參數(shù)改成字符串類型的即可,后期版本會修復(fù)這個問題