tars 自帶服務管理後臺,新版預設埠是3000:
初次使用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 </application></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