版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、TARSTARS是什么?開發(fā)運(yùn)營(yíng)測(cè)試服務(wù)(tcp/udp, epoll/select)協(xié)議客戶端調(diào)用(同步,異步)容錯(cuò)/容災(zāi)部署/發(fā)布監(jiān)控(異常,流量等)集中日志/集中配置服務(wù)管理(啟停等)接口級(jí)測(cè)試集成測(cè)試TARS 業(yè)務(wù)統(tǒng)一開發(fā)、運(yùn)營(yíng)、監(jiān)控框架, 提升研發(fā)效率 解決哪些問題?開發(fā) 測(cè)試 運(yùn)營(yíng) TARS目標(biāo)目標(biāo)容錯(cuò)平臺(tái)化快速開發(fā)高性能易伸縮集中運(yùn)營(yíng)(發(fā)布和管理等)立體化監(jiān)控層次清晰 TARS 設(shè)計(jì)思路運(yùn)營(yíng)平臺(tái)通信框架公共庫(kù)協(xié)議 無(wú)線統(tǒng)一協(xié)議透明部署 自動(dòng)發(fā)布 集中配置/LOG 調(diào)度分析管理 容錯(cuò) 負(fù)載均衡 灰度 RPC 高性能 穩(wěn)定 過(guò)載 多語(yǔ)言 框架以及業(yè)務(wù)使用可擴(kuò)展 自動(dòng)生成 多語(yǔ)言打通終
2、端到后臺(tái)以及后臺(tái)之前的協(xié)議NotifyStatLogPatchRegistry1Registry2RegistryNWebServer1Server2ServerNNode1Server1Server2ServerNNodeN主控節(jié)點(diǎn)(熱備)運(yùn)維管理平臺(tái)異常信息指標(biāo)統(tǒng)計(jì)遠(yuǎn)程LOG發(fā)布平臺(tái)服務(wù)節(jié)點(diǎn)業(yè)務(wù)ServerConfig配置中心5354Property業(yè)務(wù)信息上報(bào)AdminRegistry管理服務(wù)registryclientstringToProxy(“PetObj”);petsvrpetsvrtcp/udpnode1node2keep alivereport statuspatchpatc
3、hstatpropnotifyconfiglogadmin commandadmin sync/async 服務(wù)主要交互流程webAdminRegistry后臺(tái)代碼結(jié)構(gòu)(C+)base class toolsApplication(conf/log/notify)Communicator(stat/property)registrynodepatchlogconfigstatnotifylibserverjmemlibparsetars2cpptars2javatars2objectctars2node.tars protocollibservant服務(wù)框架工具協(xié)議公共組件公共服務(wù)框架/工具基
4、礎(chǔ)類庫(kù)property TARS協(xié)議JceOutputStream os;ti.writeTo(os); JceInputStream is;is.setBuffer(os.getBuffer(), os.getLength();tii.readFrom(is); 序列化反序列化可選字段必選字段tag 代碼自動(dòng)生成客戶端服務(wù)端tars 文件tars2cpp/usr/local/tars/cpp/tools/tars2cpp Pay.tars 遠(yuǎn)程調(diào)用(遠(yuǎn)程調(diào)用原來(lái)如此簡(jiǎn)單)業(yè)務(wù)同步調(diào)用業(yè)務(wù)異步調(diào)用業(yè)務(wù)單向調(diào)用 開發(fā)步驟定義接口文件*.tars腳本創(chuàng)建新Server繼承并實(shí)現(xiàn)接口類編譯成服務(wù)接口
5、類registry配部署信息patch 發(fā)布到 nodes通過(guò)node啟動(dòng)服務(wù)config 加業(yè)務(wù)配置獲取接口文件*.tars編譯c+/java代理類創(chuàng)建本地代理對(duì)象接收同步返回/回調(diào)根據(jù)對(duì)象名稱取地址同步或異步調(diào)用123服務(wù)端開發(fā)部署發(fā)布客戶端開發(fā)輕量化(輕重結(jié)合,更多的選擇)TARS協(xié)議(網(wǎng)絡(luò)/存儲(chǔ))不依賴協(xié)議的epoll服務(wù)模型服務(wù)協(xié)議層接口服務(wù)獨(dú)立運(yùn)行自定義端口協(xié)議客戶端與服務(wù)端結(jié)構(gòu)(多線程模型)ServantProxyAdapterProxyMQ(obj)timeoutNetThreadtcpudpAsyncclient invokeAsynccall back synctcpudp
6、NetThreadAdapter(MQ)Servant HandleAdminServantImpserver appoverload服務(wù)模型(C+)NetThreadsbufferBindAdapter(ip:port)EpollServeracceptrbufferHandleThread(1m)conn(index)conn(index)conn(index)容錯(cuò)(服務(wù)器掛掉不影響業(yè)務(wù))ClientsvrregistrystringToProxy(“PetObj”)返回PetSvr IP:Port列表1. 缺省到每個(gè)server(ip:port) 一個(gè)連接2. 多個(gè)連接競(jìng)爭(zhēng)消息隊(duì)列3.
7、一個(gè)連接異常后影響最后一個(gè)請(qǐng)求4. 定時(shí)從registry異步刷新服務(wù)列表,實(shí)現(xiàn)動(dòng)態(tài)加入/移除Svr5. Registry 部署多臺(tái),通過(guò)db共享數(shù)據(jù),實(shí)現(xiàn)熱備6. 缺省輪循選擇服務(wù)節(jié)點(diǎn),支持HASH方式7. 某個(gè)連接或者節(jié)點(diǎn)失效后,會(huì)定時(shí)重連(10秒)tcp/udpsvrsvrnode超時(shí)切換(降低網(wǎng)絡(luò)影響)Clientsvrtcp/udpsvrsvr連續(xù)超時(shí)次數(shù)超時(shí)比率定時(shí)重試1. 客戶端內(nèi)嵌超時(shí)切換邏輯2. 連續(xù)超時(shí)次數(shù)大于某值3. 超時(shí)比率大于某值4. 定時(shí)重試web/wap svr001user根據(jù)狀態(tài)選擇路由010tars_dye(“queryInfo”, “xxxxxxxx”)0
8、00UI ServerLogic ServerDB Server對(duì)任意一條消息進(jìn)行染色染色的key值由業(yè)務(wù)指定后續(xù)調(diào)用在框架層自動(dòng)染色染色消息集中到log server染色(察看某個(gè)用戶所有的信息)dye log server過(guò)載服務(wù)端接收隊(duì)列達(dá)到某個(gè)閥值后拒絕新請(qǐng)求監(jiān)測(cè)每條消息在隊(duì)列中的時(shí)間,已超時(shí)的消息不做業(yè)務(wù)邏輯處理超時(shí)時(shí)長(zhǎng)由客戶端控制NetIORecv MessageQSend MessageQHandleThreads如果超時(shí)則直接返回記錄入隊(duì)列時(shí)間問題定位主要目錄框架服務(wù)目錄: /usr/local/app/tars/xxx業(yè)務(wù)服務(wù): /usr/local/app/tars/tarsnode/data/服務(wù)日志: /usr/local /app/tars/app_log/xxx/xxxserver/*.logWeb日志: /usr/local/app/web/logGITHUB目錄結(jié)構(gòu)/TarsCloud/Tars目錄說(shuō)明cppc+源碼framework核心框架服務(wù)源碼, 依賴cppgoGo源碼JavaJava源碼nodejsNodejs源碼phpPhp源碼tupTup協(xié)議源碼(https:/tarscloud.github.io/TarsDocs/kai-fa/tarstup.html)webWeb管理平臺(tái)dockerDoc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬(wàn)能工應(yīng)急招聘合同
- 個(gè)性化房屋設(shè)計(jì)合同協(xié)議書
- 軟裝設(shè)計(jì)轉(zhuǎn)讓合同
- 建筑油漆設(shè)備租賃合同
- 合同履行報(bào)告模板
- 蔬菜店翻新施工合同
- 健康管理師兼職合同
- 遠(yuǎn)郊二手房交易合同范本
- 商業(yè)服務(wù)水地暖施工合同
- 智能交通工程合同范本智能
- 瑪氏面試案例分析題及答案
- 尺寸鏈設(shè)計(jì)與計(jì)算
- 干細(xì)胞文獻(xiàn)綜述
- 專利申請(qǐng)著錄項(xiàng)目變更書
- 全文《以史為鑒持續(xù)推動(dòng)美麗中國(guó)建設(shè)》PPT
- 《2021國(guó)標(biāo)結(jié)構(gòu)專業(yè)圖集資料》04G410-2 1.5mX6.0m預(yù)應(yīng)力混凝土屋面板(鋼筋混凝土部分)
- 三角函數(shù)高考題匯編(共12頁(yè))
- 設(shè)計(jì)方案——噴漆烘干房
- Humpty兒童跌倒評(píng)估量表
- 滑觸線安裝施工方案
- 金山江天寺規(guī)約
評(píng)論
0/150
提交評(píng)論