服务化框架技术选型实践.pptx

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
技术创新,变革未来服务化框架技术选型实践前言服务化框架构成 京东实践总结前言不讨论为什么要服务化不讨论微服务和SOA区别不讨论哪个技术最优前言服务化框架构成 京东实践总结基本的服务化框架构成管理端服务注册中心统一RPC框架RPC框架基本考量代码规范通讯协议序列化协议IO模型负载均衡学习成本(包括文档数,社区热度)跨语言需求可扩展性(接口变更时)性能常见的开源RPC框架比较thriftRESTfuldubbogRPC代码规范基于Thrift的IDL生成代码基于JAX-RS规范无代码入侵基于.Proto生成代 码通讯协议TCPHTTPTCPHTTP/2序列化协议thriftJSON多协议支持 默认hessianprotobufIO框架Thrift自带Servlet容器Netty3Netty4负载均衡无无客户端软负载无跨语言多种语言多种语言Java多种语言可扩展性差好好差其它:SOAP、RMI、Hessian、ICE等RPC框架选型小结要与前端交互的,适合RESTful、gRPC纯粹后端交互的,适合thrift、dubbo等小公司、新公司选择规范化框架,thrift、RESTful、gRPC已有大量代码的公司选择无代码入侵,dubbo、RESTful注册中心基本考量服务注册服务订阅状态检测学习成本维护成本数据结构性能CAP原则常见的开源服务发现ZooKeeperetcdConsulEureka一致性强一致性paxos强一致性Raft强一致性Raft弱一致性数据结构TreeK/VK/VK/V通讯协议TCPHTTP、gRPCHTTP、DNSHTTP客户端ZKClient//Eureka-clientCAPCPCPCPAP其它:Redis、MySQL注册中心选型小结规模小选择CP,RPC框架可以直接接入数据源规模大选择AP, RPC框架不可以直接接入数据源存在跨机房,跨地域的尽量不要选有强一致性协议的系统RPC框架必须要有注册中心不可用的容灾策略服务状态检测十分重要完善的服务化框架构成接口文档管理管理端配置中心服务注册中心监控中心服务治理统一RPC 框架网关分布式跟踪网关鉴权限流协议转换Mock其它统一处理逻辑(例如请求解析、响应包装)服务治理服务路由:权重、IP路由、分组路由、参数路由、机房路由等调用授权:应用授权、token、黑白名单动态分组:服务端切分组、客户端切分组调用限流:服务端限流、客户端限流灰度部署:灰度上线、预发标识、接口测试配置下发:接口配置、全局配置服务降级:Mock、熔断、拒绝服务前言服务化框架构成 京东实践总结第一代SAF背景(2012)各个部门框架不统一已有较多代码接口规模在1K左右服务节点在50K左右机器规模在8K左右机房拓扑简单第一代SAF选择(2012)RPC框架:dubbo,做配置扩展,以及功能扩展包括rest(resteasy)、webservice(cxf)、kryo序列化、thrift序列化、调用压缩等注册中心:Zookeeper,RPC框架直接接入数据源监控中心:监控服务+HBase管理平台:读取Zookeeper做管理平台第二代JSF背景(2014)业务的不断增长接口、机器数量级增长多机房问题跨语言问题服务治理需求第二代JSF选择(2014)RPC框架:自研框架,兼容dubbo协议注册中心:自研,基于DB作为数据源,前置Index服务监控中心:监控服务+InfluxDB(后来改为ElasticSearch)管理端:基于DB,功能更强大HTTP网关:自研开发周期:7人/年 2014.1~2015.1 包括开发、测试、预发、上线JSF架构简图JSF 注册中心引入Index服务概念通过数据库保证数据一致性保证,注册中心无状态,且内存有服务列表全量缓 存,连不上数据库也保证可读数据库的数据结构更适合各种维度展示、过滤、分析等注册中心就是个JSF服务,监控到压力大即可进行动态水平扩展服务列表推送逻辑改进注册中心与RPC客户端可各种交互JSF RPC框架JSF RPC框架Config:Spring/API/AnnotationProxy: Javassist/JDKInvoker/Filter:内置+自定义Client:Failover/FailFast/TransportPinpoint/MultiClientProxy调用方式:同步/异步并行/异步回调/Callback/泛化Loadbalance:Random/Roundrobin/ConsistentHash/ LocalPreference/LeastActiveCall路由:参数路由,分组路由,(IP级别路由逻辑在注册中心做)长连接维护:可用/死亡/亚健康JSF RPC框架协议:JSF/SAF(dubbo)/HTTP/Telnet/HTTP2第

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档