京东SAF:服务架构框架推动系统服务化与API化进程

需积分: 10 9 下载量 158 浏览量 更新于2024-07-19 收藏 1.08MB PDF 举报
SAF,全称为ServiceArchitectureFramework(服务架构框架),是京东系统SOA化的重要基石,旨在提升开发效率和保证服务质量。自2017年四月正式上线以来,SAF在京东内部扮演了核心角色,作为接入JOS开放平台的关键组件,它促使系统服务化和API化得以标准化。至今,已有超过九百个接口与SAF相连,约两千台服务器接入,服务实例(JVM)数量达到了六千多,每天的调用量更是高达十亿次,这充分体现了其在京东业务中的高频使用和不可或缺的地位。 SAF的设计愿景是提供统一的RPC调用框架,通过技术层面的标准化,使得系统间的服务交互更加简单高效。其核心功能包括RPC调用框架,该框架基于Dubbo,具有以下几个特性: 1. 透明性:开发人员可以像调用本地方法一样调用远程服务,无需复杂的API集成,只需要简单的配置即可实现。 2. 长连接协议:采用nio和长连接技术,确保远程调用的稳定性和性能。 3. 多协议支持:除了Dubbo协议外,还支持Hessian、WebService和REST(2.0)等多种通信协议,增加了灵活性。 4. 故障容错:当服务调用失败时,SAF具备自动切换Provider并重试的功能,提高了系统的鲁棒性。 5. 负载均衡:提供多种负载均衡策略,如随机、轮询和最少调用,可以根据实际需求进行选择。 与市面上其他服务发布工具如CXF相比,SAF在服务治理方面更具优势。例如,它支持服务注册和订阅,能动态推送服务列表,并允许用户自定义服务路由规则和调用参数。此外,SAF提供了内置的服务质量监控,自动收集调用信息,无需开发者额外手动采集,且具备跨语言支持,如通过REST和WebService。 在服务能力水平扩展方面,SAF采用了动态推送服务提供者列表的方式,降低了因修改域名解析配置带来的复杂性,同时通过线程池执行,能够处理更高的TPS(每秒请求数)——对于SAF 1.0.9版本,TPS可以达到15000次,远超CXF的6000次。 SAF作为京东IT基础设施的重要组成部分,通过其强大的功能和易用性,不仅提升了开发效率,也保证了系统的稳定性与服务质量,对京东的业务发展起到了关键推动作用。随着版本更新,SAF将持续优化和扩展,以适应京东日益增长的技术需求。
2021-02-28 上传