DSF分布式服务框架设计.pptx_第1页
DSF分布式服务框架设计.pptx_第2页
DSF分布式服务框架设计.pptx_第3页
DSF分布式服务框架设计.pptx_第4页
DSF分布式服务框架设计.pptx_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSF分布式服务框架设计 技术创新,变革未来 目 录录 DSF产生背 景 DSF介绍 服务治理实 践 背景 统一服务框 架 多服务框架:58同城RPC框架、Dubbo框架、 维护 成本高 统一服务治理 注册中心、监控、流控、调用跟踪 DSF介 绍绍 RPC框架核心流程 Service 网络通讯(send、receive) Client RetObj retObj=proxy.fun(a, b) 接口代理 序列化 协议 接口实现(线程池中调用真实服务) 协议 网络通讯 2.入参对象序列化 5.从协议包中获 取 结果对象流 1.创建服务代理对 象 6.反序列化为结果对 象 协议 包 数 据流 1.接收协议包数 据 交给协议层 处理 2.从协议包中获 取 接口签名和入参对象 流 3.反序列化为入参对象4.返回服务结果对 象 序列化 5.结果对象序列 化 3.将协议版本,协议类型, 序列化方式,序列化结果对象流等 , 组成一个协议包,交给通讯层 3.将协议版本,协议类型, 序列化方式,方法签名,入参对象流等, 4.接收协议包数据 组成一个协议包,交给通讯层发送 交给协议层处理 DSF介绍绍 整体架构 DSF Client Java动态代 理 负载均 衡 网络通讯 上下文管理DSF序列化 DSF协 议 DSF Server(容器) 网络通讯 过滤器 异步处理 监控权限 Dtracker plugin DSF注册中心 DSF服务治理管理平台 DSF介 绍绍 协议 版本号 协议总长 度 请求上下文编号 消息类型(Request,Response,Exception,Reboot) 序列化方式(同城,DSF,Hession) 压缩 算法 加解密算法 消息体 定长包头(公共属性) + 变长 包体(业务扩 展) DSF介 绍绍 序列化 四元组(参考BER(basic encoding rules): 类型、对象总字节长度、对象属性序号、对象属性 值 序号 sortid 属性值值 Int num; 112 序号 sortid Int age; 223 Element(自 定 义义 Class类类 ) TypeIdLength 15 序号 sortid String name; 567 3“ 张 三 ” 589 List typeid List size element1 sortid=1sortid=2 Int num;Int age;String name; sortid=3 2typeid length element2 length sortid=1sortid=2 Int num;Int age; typeid List对象序列化样例 : DSF介 绍绍 跨语言、跨平 台 客户 端 Java 客户端 DSF序列化 DSF协议 C & C+ 客户端 DSF序列化 DSF协议 TCP长连 接 服务端(Java DSF容器) DSF序列化 DSF协议 客户端、服务端,使用相同的序列化和协 议 DSF介 绍绍 高可用 服务多节点部署 健康检 查 过载丢 弃(请求阈值 ) 服务平滑重启 降级处 理 客户端重试机制&故障转 移 客户端超时处 理 DSF介 绍绍 负载均衡 静态权 重配置; 服务节 点动态请 求超时权 重调整 ; 安全性 IP黑白名单 方法调用授权 服务 分组 DSF介 绍绍 易用性 运维部署 bin(启动脚本,全局配置文件) | dsf(启动脚本) |dsf_config.xml |dsf_log4j.xml README(相关说明) docs(文档) log( 日 志 文 件 ) lib(DSF容器自身依赖的jar) service |lib(服务依赖的公共jar) |deploy(DSF服务部署目录) |paycenter(支付中心服务) |paycenter.1.0.0.jar |dsf_config.xml |dsf_log4j.xml |order(订单服务) |order.1.0.0.jar |dsf_config.xml |dsf_log4j.xml DSF介 绍绍 易用性 实时监 控 count|second num|method methodName *show method call times in num seconds *second : in num seconds statistics once (numdefault 1) *method : for statistics method *example : count *example : count|second 3|method getInfo time|grep abc|column tkda *show method execute time *grep : condition *column : show column aall ttime kkey ddescription *example: time|grep getInfo *example: time|grep getInfo|column tk help * show help quit * quit monitor jvm option time count *option: *gcutil: detection heap memory usage *class : load class *gcheap: heap memory used and committed *memory:JVM memory used *heap :Virtual Machineheap memory used *noheap:Virtual Machine noheap memoryused *thread: thread counts *time : time milliseconds apart test again *count : detection count times *example: jvm gcutil *example: jvm gcutil 1000 *example: jvm gcutil 1000 5 exec|top |netstat na *exec command (at present only allow:top or netstat) *example: exec|top DSF介 绍绍 易用性 开发简单 服务端(接口定义、接口实现、序列化实体 类) 客户端(配置加载、创建客户端代理、调用远程接 口) 服务务治 理 注册中心 3 notify 2 subscribe 1 register Registry Cluster ClientServer 4 invoke Server node config 发布& 订阅 机制 服务增、删节 点,对服务消费方透明 ; 方便做分组管理和安全策略; 服务健康状况监测 TCP长连 接、心跳监测 ; 高可用 注册中心HA; 客户端本地配置 服务务治 理 流控 阈值 告警,超过流控阈值 80% ; 波动告警; 手动快速扩容(自动扩 容); 流控阈值 在线调 整,实时 生效 ; 服务务治 理 调用跟踪系统 (Dtracker) 基于日志的分布式调用跟踪系统 web框架 service框架 cache客户端Dbtool 日志收集 平台 日志组件 日志组件 日志组件日志组件 调调用信息 traceid, spanId,IP地址,系统类 型, URL或接口,执行耗时. 调调用信息 调调用信息 息调调用信 kafka HDSF ES 调用链Web后台 服务务治 理 调用跟踪系统 (Dtracker) 机器2 机器I webapplication traceid:”unique_id” spanId:”0” serviceAProxy spanId:”0.1” serviceBProxy spanId:”0.2” serviceCProxy spanId:”0.3” ServiceA traceid:”unique_id” spanId:”0.1.1“ traceid:“unique_id” spanId:”0.1“ CacheClient traceid:”unique_id” spanId:”0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论