「騰訊開源Tars」c++ RPC 框架:服務發佈

「騰訊開源Tars」c++ RPC 框架:服務發佈

tars 自帶服務管理後臺,新版默認端口是3000:

「騰訊開源Tars」c++ RPC 框架:服務發佈

Fig tars 新版管理後臺

初次使用tars管理臺發佈服務時需要注意以下問題

1. 在代碼中通過addservant添加的obj 需要在管理端配置對應的servant,否則服務啟動失敗

2. tars的服務默認的會多在127.0.0.1 ip上監聽一個端口,比如你的業務配置的192.168.2.1:8080 端口,那麼tars服務啟動時會監聽127.0.0.1:8080 ,並不是所有的業務端口都會監聽,而是以servant obj排序,排在第一個的sevant的端口會多綁定127.0.0.1,該端口主要適用於對服務進行一些管理操作,比如在線更改日誌級別、下發配置等

3. 如果包過大則需要調整管理端上傳包大小默認配置:

/usr/local/app/tars/tarspatch/conf/tarspatch.conf
<tars>
directory=/usr/local/app/patchs/tars
uploadDirectory=/usr/local/app/patchs/tars.upload
#如果上傳的包文件過大則需要調整該配置
size=1M

/<tars>

4. 如果你們部署的tars,有很多業務使用,那麼久需要注意tarsregistry 服務所在的機器單個進程所開的文件句柄(/proc/sys/fs/nr_open)、以及系統打開句柄數的限制(/proc/sys/fs/file-max)的限制,否則讓你懷疑人生:會出現有時候發佈成功、有時候發佈失敗的情況,詭異吧~

5.在發佈過程中如果失敗了,不要急著重新發布,先嚐試刷新下頁面,重新獲取下服務節點的狀態,如果還是inactive,可以嘗試手動重啟一下。如果發佈時提示失敗,而實際節點是經運行,那麼很有可能是以下原因造成的:

1) 配置的等待發布時間太短了,需要調整下配置,在你的服務的模板中server節下添加activting-timeout,根據實際需要配置成對應時間即可,注意時間單位是:ms)。

尤其是當你的服務連接數過多時,服務停止好事更高

2.)另外頁需要看下tarsadmin的模板中的同步調用、異步調用時間是否符合你的環境網絡延遲,默認的同步超時,6000ms,異步的是5000ms:

async-invoke-timeout=5000

sync-invoke-timeout=6000

如果你進入到/usr/local/app/tars/tarspatch/conf目錄下會發現有一個rsync.conf配置,似乎沒有用到?官方文檔沒有描述,後來分析了tars服務發現rsync是用於在多個tarspatch是多個節點間同步發佈包,如果是你的環境tarspatch是單節點的那rsync 是沒有用到的。大家可以根據自己的需要決定要不要部署rsync。

tars服務安裝詳情見:

https://github.com/TarsCloud/Tars/blob/master/Install.zh.md


分享到:


相關文章: