京东电商平台架构设计

京东电商平台架构设计

ID:44706602

大小:1.74 MB

页数:26页

时间:2019-10-25

京东电商平台架构设计_第1页
京东电商平台架构设计_第2页
京东电商平台架构设计_第3页
京东电商平台架构设计_第4页
京东电商平台架构设计_第5页
资源描述:

《京东电商平台架构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、京东架构设计2014/6/29机要文档请勿外传1目录CONTENTS架构愿景JD架构架构原则618经验1架构愿景架构目标4.多快好省构建超大型电商交易平台,兼顾效率和性能,达到高人效、3高时效和低成本的目的.低成本服务的重用性高,提高开发效率,降低人员成本;使用成熟开源技术,降低系统成2本;利用虚拟化技术,减少服务器成本.高可扩展性系统架构简单清晰,应用系统间耦合低,容易水平扩展,增加和修改业务功能方便1快捷.高可用性自动化运维。整体系统可用性99.99%,单个系统可用性99.999%。全年故障时间整个系统不超过50分钟,单个系统故障不超过5分钟

2、2架构愿景架构愿景维恩图快可用性•网站速度快•订单生产快•需求响应快好•高可用性•高可扩展性•低成本•品类丰富多•高人效•功能多省•高时效•交易量大•低成本可扩展性成本1架构愿景质量要求互操作可管理可伸缩可用性性能可靠性安全性性性性概念完整性可维护质量性易用性要求可重用性可支持可测试性性3架构愿景总体架构原则可用性•N+1原则•版本可以回退•功能可开关•容错设计,故障控制•采用成熟的技术•可监控•多维度拆分•不过度设计•服务可重用•可水平扩展•异步解耦•无状态•虚拟化•单一责任原则•减少预先设计,不过度设计•采用同质化硬件•DID原则可扩展性成本

3、目录CONTENTS架构愿景JD架构架构原则618经验2JD架构业务架构2JD架构京东IT架构2JD架构架构分解应用架构数据架构基础架构3JD架构应用架构图2JD架构交易中心2JD架构数据架构2JD架构数据架构2JD架构基础架构目录CONTENTS架构愿景JD架构架构原则618经验3架构原则总体原则1业务平台化2抽象化1.基础业务下沉1.服务抽象化,引用不需要关心服务实现2.可复用2.应用集群抽象化,集群位置透明3.数据库抽象化,应用程序用逻辑SQL操作数据库4.服务器抽象化,应用系统不需要关心实总体原则体机的位置或数量,只关心资源4容错设计33

4、异步化1.核心服务自治,服务能够被彼此独立的修改、部署、发1.不同业务域之间尽量异步化,如交易与布新版本和管理支付之间,履约与仓储之间2.应用系统集群,可水平扩展2.非核心业务尽量异步化3.多机房部署,多活3.应用系统尝试SEDA方式异步化3架构原则服务设计原则•基本服务构件,要求精简、自治、可水平扩展,其他服务可多样化1.基本原则•基本服务不依赖其它业务域服务,组合服务、流程服务可跨域调用•基本服务和数据在不同业务域做泳道隔离,不跨域调用•服务引用时,只依赖于服务抽象,不依赖于服务实现2.重用原则•复用粒度是有业务逻辑的抽象服务,不是服务实现细

5、节•每个基本服务相对独立,服务间通信尽可能少•跨业务域的服务调用,尽可能用异步解耦•核心业务不依赖非核心业务,非核心业务可降级3.松耦合原则•降低紧耦合:同步调用时,设置超时时间和最大并发数•不同特点的服务解耦:需要快速响应的服务(如订单交易)与其它的解耦;相对稳定的服务(如基本服务)与变化频繁的(如流程服务)分层•容量规划,为每个服务制定SLA,保证可计量的性能达到所定义的品质•对于超容量规划的调用,要有限流设计4.服务治理原则•服务需要设计成可回滚、可禁用、可监控、多活动点•超负荷时,对于非核心服务调用应有降级机制3架构原则运行时原则2、应用

6、可回滚,功能可降级当应用出现问题时,要求能回滚到上一个的版本,也可以做功能开关或降级3、应用可水平扩展1、SLA(服务品质协议)当访问量大时,应用系统需要能服务方根据各引用方的需求,给在线扩容出能正常提供服务的TPS和RT,并有分流、限流和降级机制6、故障转移4、可监控多机房部署,发生故障时,能即重要服务需要埋点监控,帮助即时时切换发现和解决问题5、可容错核心应用要求多活,避免单点设计,并且自身有容错和修复能力。故障时间TTR小3架构原则系统部署原则1N+1原则支持灰度发布2•确保为故障多搭建一套系统,避免•系统新上线,要求支持“灰度”单点问题。

7、例如,多机房部署、应发布,分步切流量,故障回滚用系统集群、数据库主备等系统部署4按业务域部署3D-I-D原则•对于基本服务和数据库,相同业务•设计(Design)20倍的容量;实域的服务器部署在一起;不同业务现(Implement)3倍的容量;域的服务器物理隔离部署(Deploy)1.5倍的容量3架构原则数据架构原则1数据与应用分离1.数据库位置透明,应用系统只依赖逻辑数据库;2.不直接访问其它宿主的数据库,只能通过服务访问2数据库主备从1.重要数据配置备库;2.流量大的数据库配置从库,做读写分离;3.数据量大的数据库做分库分表;4.不同业务域数

8、据库做分区隔离数据原则4不过度依赖缓存数据库有较大容量时,尽量不要引入缓存。合理使用内存,可以提高系统的扩展性;但过度依赖,会降低系统的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。