版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TARSTARS是什么?开发运营测试服务(tcp/udp, epoll/select)协议客户端调用(同步,异步)容错/容灾部署/发布监控(异常,流量等)集中日志/集中配置服务管理(启停等)接口级测试集成测试TARS 业务统一开发、运营、监控框架, 提升研发效率 解决哪些问题?开发 测试 运营 TARS目标目标容错平台化快速开发高性能易伸缩集中运营(发布和管理等)立体化监控层次清晰 TARS 设计思路运营平台通信框架公共库协议 无线统一协议透明部署 自动发布 集中配置/LOG 调度分析管理 容错 负载均衡 灰度 RPC 高性能 稳定 过载 多语言 框架以及业务使用可扩展 自动生成 多语言打通终
2、端到后台以及后台之前的协议NotifyStatLogPatchRegistry1Registry2RegistryNWebServer1Server2ServerNNode1Server1Server2ServerNNodeN主控节点(热备)运维管理平台异常信息指标统计远程LOG发布平台服务节点业务ServerConfig配置中心5354Property业务信息上报AdminRegistry管理服务registryclientstringToProxy(“PetObj”);petsvrpetsvrtcp/udpnode1node2keep alivereport statuspatchpatc
3、hstatpropnotifyconfiglogadmin commandadmin sync/async 服务主要交互流程webAdminRegistry后台代码结构(C+)base class toolsApplication(conf/log/notify)Communicator(stat/property)registrynodepatchlogconfigstatnotifylibserverjmemlibparsetars2cpptars2javatars2objectctars2node.tars protocollibservant服务框架工具协议公共组件公共服务框架/工具基
4、础类库property TARS协议JceOutputStream os;ti.writeTo(os); JceInputStream is;is.setBuffer(os.getBuffer(), os.getLength();tii.readFrom(is); 序列化反序列化可选字段必选字段tag 代码自动生成客户端服务端tars 文件tars2cpp/usr/local/tars/cpp/tools/tars2cpp Pay.tars 远程调用(远程调用原来如此简单)业务同步调用业务异步调用业务单向调用 开发步骤定义接口文件*.tars脚本创建新Server继承并实现接口类编译成服务接口
5、类registry配部署信息patch 发布到 nodes通过node启动服务config 加业务配置获取接口文件*.tars编译c+/java代理类创建本地代理对象接收同步返回/回调根据对象名称取地址同步或异步调用123服务端开发部署发布客户端开发轻量化(轻重结合,更多的选择)TARS协议(网络/存储)不依赖协议的epoll服务模型服务协议层接口服务独立运行自定义端口协议客户端与服务端结构(多线程模型)ServantProxyAdapterProxyMQ(obj)timeoutNetThreadtcpudpAsyncclient invokeAsynccall back synctcpudp
6、NetThreadAdapter(MQ)Servant HandleAdminServantImpserver appoverload服务模型(C+)NetThreadsbufferBindAdapter(ip:port)EpollServeracceptrbufferHandleThread(1m)conn(index)conn(index)conn(index)容错(服务器挂掉不影响业务)ClientsvrregistrystringToProxy(“PetObj”)返回PetSvr IP:Port列表1. 缺省到每个server(ip:port) 一个连接2. 多个连接竞争消息队列3.
7、一个连接异常后影响最后一个请求4. 定时从registry异步刷新服务列表,实现动态加入/移除Svr5. Registry 部署多台,通过db共享数据,实现热备6. 缺省轮循选择服务节点,支持HASH方式7. 某个连接或者节点失效后,会定时重连(10秒)tcp/udpsvrsvrnode超时切换(降低网络影响)Clientsvrtcp/udpsvrsvr连续超时次数超时比率定时重试1. 客户端内嵌超时切换逻辑2. 连续超时次数大于某值3. 超时比率大于某值4. 定时重试web/wap svr001user根据状态选择路由010tars_dye(“queryInfo”, “xxxxxxxx”)0
8、00UI ServerLogic ServerDB Server对任意一条消息进行染色染色的key值由业务指定后续调用在框架层自动染色染色消息集中到log server染色(察看某个用户所有的信息)dye log server过载服务端接收队列达到某个阀值后拒绝新请求监测每条消息在队列中的时间,已超时的消息不做业务逻辑处理超时时长由客户端控制NetIORecv MessageQSend MessageQHandleThreads如果超时则直接返回记录入队列时间问题定位主要目录框架服务目录: /usr/local/app/tars/xxx业务服务: /usr/local/app/tars/tarsnode/data/服务日志: /usr/local /app/tars/app_log/xxx/xxxserver/*.logWeb日志: /usr/local/app/web/logGITHUB目录结构/TarsCloud/Tars目录说明cppc+源码framework核心框架服务源码, 依赖cppgoGo源码JavaJava源码nodejsNodejs源码phpPhp源码tupTup协议源码(https:/tarscloud.github.io/TarsDocs/kai-fa/tarstup.html)webWeb管理平台dockerDoc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国数据标注行业研究及出海趋势 2026
- 2025年江苏省东台市高考历史自测卷含完整答案(历年真题)
- 2025年浙江省余姚市高二生物上册期末考试真题及答案(各地真题)
- 2026 山东 退役军人岗 结构化面试
- 2026下半年下半年高中生物教资面试遗传专题试卷
- 2026年宠物健康护理员职业技能等级认定(五级)理论知识高频考点试题
- 2026年陶瓷产品设计师职业技能等级认定(四级)操作技能考前冲刺试题
- 2026年河北省高碑店市高考历史试卷附参考答案【B卷】
- 2025年山东省莱阳市高二历史下册期末考试试卷含完整答案【名校卷】
- 2026杯装饮料行业专利技术布局与创新力报告
- 《礼赞伟大祖国 争做时代少年-小学四年级国庆主题班会》
- 《医疗器械临床使用管理办法》培训考试测试题含答案
- 综合管理竞聘测试题及答案
- 湖北武汉市2026-2027学年高三年级上学期9月调研考试英语试卷
- 2026年部编版新教材道德与法治五年级上册全套教学设计(共4个单元有教学计划)
- 混凝土结构设计原理中国建筑工业出版社
- 人教版初中英语八年级上册第一单元完整教案
- 高考英语谓语与非谓语组合练100题(含答案)
- 国药数科2026届春季校园招聘建设笔试备考试题及答案解析
- 内分泌科护理服务质量管理标准
- 煤矿职业病危害培训课件
评论
0/150
提交评论