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

下载本文档

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

文档简介

1、DSF分布式服务框架设计第一页,共17页。目录DSF产生背景DSF介绍服务治理实践第二页,共17页。背景 统一服务框架多服务框架:58同城RPC框架、Dubbo框架、 维护成本高 统一服务治理注册中心、监控、流控、调用跟踪第三页,共17页。DSF介绍 RPC框架核心流程Service网络通讯(send、receive)ClientRetObj retObj=proxy.fun(a, b)接口代理序列化协议接口实现(线程池中调用真实服务)协议网络通讯2.入参对象序列化5.从协议包中获取结果对象流1.创建服务代理对象6.反序列化为结果对象协议包 数据流1.接收协议包数据 交给协议层处理2.从协议包

2、中获取接口签名和入参对象流3.反序列化为入参对象4.返回服务结果对象序列化5.结果对象序列化3.将协议版本,协议类型,序列化方式,序列化结果对象流等, 组成一个协议包,交给通讯层3.将协议版本,协议类型,序列化方式,方法签名,入参对象流等, 4.接收协议包数据 组成一个协议包,交给通讯层发送交给协议层处理第四页,共17页。DSF介绍 整体架构DSF ClientJava动态代理负载均衡网络通讯上下文管理DSF序列化DSF协议DSF Server(容器)网络通讯过滤器异步处理监控权限Dtracker pluginDSF注册中心DSF服务治理管理平台第五页,共17页。DSF介绍 协议版本号协议总长

3、度请求上下文编号消息类型(Request,Response,Exception,Reboot)序列化方式(同城,DSF,Hession)压缩算法加解密算法消息体定长包头(公共属性) + 变长包体(业务扩展)第六页,共17页。DSF介绍 序列化四元组(参考BER(basic encoding rules):类型、对象总字节长度、对象属性序号、对象属性值序号sortid属性值Int num;112序号sortidInt age;223Element(自定义Class类)TypeIdLength15序号sortidString name;5673“张三”589ListtypeidListsizeel

4、ement1sortid=1sortid=2Int num;Int age;String name;sortid=32typeid lengthelement2lengthsortid=1sortid=2Int num;Int age;typeidList对象序列化样例:第七页,共17页。DSF介绍 跨语言、跨平台客户端Java客户端DSF序列化DSF协议C & C+客户端DSF序列化DSF协议TCP长连接服务端(Java DSF容器) DSF序列化DSF协议客户端、服务端,使用相同的序列化和协议第八页,共17页。DSF介绍 高可用服务多节点部署 健康检查过载丢弃(请求阈值)服务平滑重启 降级

5、处理客户端重试机制&故障转移客户端超时处理第九页,共17页。DSF介绍 负载均衡静态权重配置;服务节点动态请求超时权重调整; 安全性IP黑白名单 方法调用授权 服务分组第十页,共17页。DSF介绍 易用性运维部署bin(启动脚本,全局配置文件)|-dsf(启动脚本)|-dsf_config.xml|-dsf_log4j.xmlREADME(相关说明)docs(文档)log( 日 志 文 件 ) lib(DSF容器自身依赖的jar) service|-lib(服务依赖的公共jar)|-deploy(DSF服务部署目录)|-paycenter(支付中心服务)|-dsf_config.xml|-ds

6、f_log4j.xml|-order(订单服务)|-dsf_config.xml|-dsf_log4j.xml第十一页,共17页。DSF介绍 易用性实时监控count|second num|method methodNameshow method call times in num secondssecond : in num seconds statistics once (numdefault 1)method : for statistics methodexample : countexample : count|second 3|method getInfotime|grep abc

7、|column -tkdashow method execute timegrep : conditioncolumn : show column a-all t-time k-key d-descriptionexample: time|grep getInfoexample: time|grep getInfo|column -tkhelp* show helpquit* quit monitorjvm option time count*option:-gcutil: detection heap memory usage-class : load class-gcheap: heap

8、memory used and committed-memory:JVM memory used-heap :Virtual Machineheap memory used-noheap:Virtual Machine noheap memoryused-thread: thread countstime : time milliseconds apart test againcount : detection count timesexample: jvm -gcutilexample: jvm -gcutil 1000example: jvm -gcutil 1000 5exec|top|

9、netstat -naexec command (at present only allow:top or netstat)example: exec|top第十二页,共17页。DSF介绍 易用性开发简单服务端(接口定义、接口实现、序列化实体类)客户端(配置加载、创建客户端代理、调用远程接口)第十三页,共17页。服务治理 注册中心3 notify2 subscribe1 registerRegistry ClusterClientServer4 invokeServer node config 发布& 订阅机制服务增、删节点,对服务消费方透明; 方便做分组管理和安全策略; 服务健康状况监测TCP长连接、心跳监测; 高可用注册中心HA; 客户端本地配置第十四页,共17页。服务治理 流控阈值告警,超过流控阈值80%; 波动告警;手动快速扩容(自动扩容);流控阈值在线调整,实时生效;第十五页,共17页。服务治理 调用跟踪系统(Dtracker)基于日志的分布式调用跟踪

温馨提示

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

评论

0/150

提交评论