教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

京东服务框架实践

来源:网络收集 时间:2026-08-18
导读: 打造坚实的服务平台--京东服务化实践李鑫 lixininfo@http://www.77cn.com.cn 为何要服务化 系统规模随着业务的发展 而增 长,原有系统架构模式,逻辑过于耦合不再适应;拆分后的 子系统逻辑内聚,易于局部扩展; 子系统之间通过接 口来进 行交互,接 口契约

打造坚实的服务平台--京东服务化实践李鑫 lixininfo@http://www.77cn.com.cn

为何要服务化 系统规模随着业务的发展 而增 长,原有系统架构模式,逻辑过于耦合不再适应;拆分后的 子系统逻辑内聚,易于局部扩展; 子系统之间通过接 口来进 行交互,接 口契约不变的情况下可独 立变化;APP1 APP2 APP3

App1

App2

App3

DB交互通过DB来进 行

Data Store

Data Store

Data Store

交互通过同步/异步接 口来进 行

为什么要打造服务平台服务 门户存活监控调 用分析图表服务性能数据收集服务调 用服务寻址服务发布

配置查看/推送降级限流负载均衡

第 一代服务框架 2012年初开始研发; zookeeper集群作为注册中 心; base on开源的服务框架;

Web管理端

zookeeper2.服务消费者进 行订阅 1.服务提供者进 行注册

服务消费者1

服务提供者1

3.直接服务调 用服务消费者2服务提供者2

服务消费者3

服务提供者3

地址举例:WebService://172.17.3.18:20880/? interface=com.jd.arch.HelloService&group=pop&version=0.15

运营中暴露出的不 足1.客户端 许多逻辑放到客户端,推出新版本;有版本升级问题; watch时效问题;

2.注册中 心 zookeeper作为注册中 心,功能定制扩展受限、性能有瓶颈;

3.服务治理 缺乏流控 手段, 大流量打爆线程池;更改配置需重启,对运营不够友好;缺乏调 用监控,没有调 用分析图表;6

重装上阵!

新服务平台JSF 14年初开始研发; 自主研发以获得彻底的掌控 力; 老版本运营经验 支撑功能特性设计;中 文名:杰夫

Web管理端

管理数据库注册中 心数据库

Event Worker

监控数据库 index服务数据库服务注册服务寻址

Index Service Index Service

Monitor Service Monitor Service

配置管理

注册中 心定期发送性能统计数据询问注册中 心地址服务消费者1

注册/订阅服务提供者1

服务消费者2

JSF协议直接调 用

服务提供者29

服务消费者3

服务提供者3

JSF核 心技术-RPC 示意图proxy InterfaceImpl

ServerFilterChain

ClientFilterChain负载均衡链接管理重试策略

Invoker

Client encode/序列化 ClientTransportHeader Invocation Body

ServerTaskExecutor decode ServerTransport

NIO TCP 长链接 IO-Multiplex多路复 用10

JSF核 心技术-协议 采 用Netty来实现 网络协议栈,异步事件通讯框架;同 一端 口同时 支持Http、TCP协议访问,根据数据包情况挂载不同解码器; TCP 长链接下使 用 自定义 二进制协议; HTTP 网关来应对跨语 言访问;magic full length协议/序列化/消息..消

息ID扩展描述 2000

ad cf 00 00 00 7f 00 0f 01 0a 01 00 00 00 0e 16 01 01 01 00 00 07 d0 97 91 c2 da 00 2f 63 6f 6d 2e 6a 64 2e 6a 6c……

JSF核 心技术 RPC-callback TCP 长链接是双 工的,服务 方可以主动推送消息到调 用 方;调 用端检测到参数列表中有Callback类型,登记相应的callback对象;服务端收到调 用时, 生成相应的反向调 用代理;服务端持有此代理,并在需要时调 用此代理来推送消息;ConsumerCallback Impl

ProviderCallback stub

JSF核 心技术 HA&负载均衡 一个服务 至少部署两个以上实例;服务消费者运 用负载均衡算法选择服务提供者,可以设置权重;服务消费者对服务提供者有健康监测;服务消费者端可以配置重试机制;服务消费者服务提供者1

可 用列表重连列表 非健康列表

服务提供者2

JSF核 心技术-性能优化 批量处理,请求先写 入RingBuffer; 优化线程模型,将序列化与反序列化这种耗时的操作从Netty的IO线程中挪到 用户线程池中; 启 用压缩以应对 大数据量的请求,默认snappy压缩算法; 定制msgpack序列化,序列化模版,同时还 支持fast json、hessian等多种序列化协议;

JSF核 心技术-性能优化

蓝 色 一代框架红 色 二代框架15

JSF核 心技术-注册中 心A机房服务注册

客户端

服务寻址

注册中 心数据库配置管理

服务注册

B机房

客户端

服务寻址

配置管理

优先访问本机房注册中 心,各组件均有本地容灾缓存16

…… 此处隐藏:386字,全部文档内容请下载后查看。喜欢就下载吧 ……
京东服务框架实践.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1113491.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)