京东SAF:服务架构框架详解
需积分: 10 55 浏览量
更新于2024-07-18
收藏 712KB PPTX 举报
"京东SAF是服务架构框架,旨在统一RPC调用、提升开发效率并确保服务质量。它包含RPC调用框架和服务治理功能,如服务注册、订阅、动态推送和灵活的路由规则。自上线以来,SAF已广泛应用于京东系统,接入了大量接口和服务实例,实现了高效的服务调用和管理。"
京东SAF(Service Architecture Framework)是一种服务架构框架,旨在统一公司的技术栈,推动系统服务化和SOA化。其主要目标包括为老板提供统一的RPC(Remote Procedure Call)调用框架,实现技术对齐,以及为开发人员提升开发效率和服务质量。自2014年4月上线以来,SAF已经成为京东系统服务化的重要基础组件,接入了九百多个接口,覆盖近两千台服务器,拥有超过六千个在线服务实例,并处理着每天数十亿次的服务调用。
SAF的核心功能分为两大部分:RPC调用框架和服务治理。RPC调用框架使开发人员能够以调用本地方法的方式透明地调用远程方法,只需简单配置,不需额外的API侵入。该框架支持长链接协议,利用非阻塞I/O(nio)和长连接进行远程调用,并且还支持Hessian、WebService、REST等多种协议。此外,它具备Failover机制,当服务调用出错时,能自动切换到其他服务提供者重试,并提供了多种负载均衡策略,如随机、轮询和最少调用等。
服务治理功能则包括服务注册和订阅,服务列表的动态推送,以及灵活的服务路由规则和调用参数下发。服务提供者在启动时向注册中心注册,而服务消费者订阅所需的服务,通过注册中心获取服务列表。注册中心负责解决服务提供者(Provider)和服务消费者(Consumer)之间的匹配问题,根据接口、版本和group分组进行区分。这一机制解决了服务调用的单点问题,实现了服务的自动发现和注册。
使用SAF的好处在于,它可以实现无代码侵入的服务发布与调用,加速服务解耦;支持多协议发布,无需修改业务代码;提供高性能的RPC调用;通过服务自动注册和发现解决单点故障;实施高可用策略,便于水平扩展服务能力;实现软负载均衡,减少对硬件负载均衡器的依赖;同时,SAF还提供了便捷的服务运维管理工具。
发布服务通常涉及配置服务接口、版本和实现,然后通过特定的注解或配置文件将服务注册到SAF框架。调用服务则需要指定服务的ID或名称,SAF会根据配置自动查找并调用相应服务。
京东SAF是京东内部服务化战略的关键组成部分,它通过提供一套标准化、高效的服务架构框架,提升了系统的灵活性、稳定性和可扩展性,极大地促进了京东的技术创新和业务发展。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2017-12-22 上传
2021-10-10 上传
2014-05-29 上传
2019-07-19 上传
2021-10-10 上传
2018-08-02 上传
qinyoug
- 粉丝: 7
- 资源: 30
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍