中小型电商挺适合的:提炼京东商城系统的建筑设计原则

随商电商系统2021-08-05 11:00:13电商资讯

老k所在的沪,知名电商公司,前几年被京东收购,所以对京东的整个技术架构体系比较熟悉,做了深入的研究。本文ppt来源于商城, 京东,技术团队内部分享资料,部分涉及太多技术细节的ppt没有发布,但在文中有提及。

京东商城系统集成了自营模式、商城模式、三方平台等多种模式。与淘宝和天猫,的电子商务网站发展相比,商业模式要丰富得多,包括许多WMS、TMS和OMS。国内中小型电商如果想学习,最好学习京东,的商业结构,因为商业模式差不多。

一、超大型电子商务系统的架构目标

1.搭建超大型电商交易平台,兼顾效率和性能,实现高效率、高时效、低成本的目标。

2.成本低,增加服务复用性,提高开发效率,降低人工成本;使用成熟的开源技术降低软硬件成本;使用虚拟化技术降低服务器成本。

3.可扩展性高,系统架构简单清晰,应用系统间耦合度低,易于横向扩展,业务功能的添加和修改方便快捷。

4.高可用性和自动化操作和维护。整体系统可用性为99.99%,单系统可用性为99.999%。整个系统年故障时间不超过50分钟,单个系统故障不超过5分钟。

二.京东商城商业建筑设计原则

1.业务平台化

业务平台,相互独立。如交易平台、仓储平台、物流平台、支付平台、广告平台等。基本服务可以被吸收和重用。比如用户、商品、类别、促销、时效性等。

2.核心业务与非核心业务分离

电商核心业务与非核心业务分离,核心业务简化(有利于稳定),非核心业务多元化。比如主交易服务和一般交易服务。

3.区分主流程和辅助流程,区分哪些是电子商务的主要流程

运行时优先考虑主进程成功完成,辅助进程可以采用后台异步方式。避免辅助进程失败导致主进程回滚。例如,下单时同步调用快照,异步通知账户和发票。

4.隔离不同类型的服务

交易业务是买卖双方签订交易合同,需要优先保证高可用性,让用户快速下单。性能业务不需要高可用性,但可以优先保证一致性。闪购业务要求高并发,应与普通业务隔离。

三,建筑设计原则的应用

1.稳定性原则

一切以稳定为中心;结构尽可能简单明了;不要过度设计。

2.耦合/分裂

稳定部分与挥发性部分分离;核心业务与非核心业务分离;电子商务的主流程与辅助流程分离;应用和数据分离;服务和实现细节的分离。

3.抽象

应用抽象:应用只依赖服务抽象,不依赖服务实现细节和位置;

数据库抽象:应用只依赖逻辑数据库,不需要关心物理数据库的位置和碎片;

服务器抽象:应用虚拟化部署,不关心物理机配置,动态分配资源。

4.松耦合

跨域调用是异步的,不同的业务域尽可能异步耦合。非核心服务应该尽可能异步,核心和非核心服务应该尽可能异步耦合。

5.容错设计

服务自治:服务可以独立修改、部署、发布和管理。避免引发连锁反应。

集群容错:应用系统集群,避免单点。

多机房容灾

治理方面,包括服务质量层、数据架构层和治理层。

五、京东商城应用架构拆分原则

1.水平扩展。即复制能力,应用系统实现多机集群,提高并发性,将数据库读写分离,如商品读写。

2.垂直分裂。指商品系统、交易系统等不同业务系统的拆分;数据库也分为商品库和订单库。

3.业务细分。与业务割裂,如扣球制和常规接单制,应分开;比如在数据库方面,订单表以ID为模,再分为数据库和表格。

4.水平分割。在服务层面,功能与非功能分离,稳定服务与易变服务分离;数据库方面,冷热数据分开,历史数据分开。

不及物动词京东商城,服务设计的依赖原则

1、依靠稳定的部分。稳定部分不依赖挥发部分,挥发部分可以依赖稳定部分,坚决避免循环依赖。

2.跨域弱依赖。跨业务域调用时,尽量异步且弱依赖。

3.基于服务依赖。基于服务的服务不能依赖于流程服务;复合服务和流程服务可以向下依赖基本服务。条件是基本服务要稳定。

4.非功能性服务依赖。非功能性服务不能依赖功能性服务;功能服务可以依赖于非功能服务。条件:非功能性服务稳定。

5.平台服务依赖。平台服务不依赖于上层应用;上层应用可以依赖平台服务;条件:平台服务稳定。

6.核心服务依赖。核心服务不依赖非核心服务;非核心服务可以依赖核心服务;条件:稳定的核心服务。

七、京东商城服务设计基本原则

1、无状态。尽量不要将状态数据保存在本地,接口调用幂等。

2.可重复使用。重用粒度是具有业务逻辑的抽象服务,而不是服务实现细节。服务引用只依赖于服务抽象。

3.松耦合。跨业务调用,尽可能异步解耦。当调用必须同步时,设置超时和队列大小。相对稳定的基础服务和可变的过程服务的分层。

4.治理。建立服务契约,服务可以降级,服务可以限流,服务可以切换,服务可以监控,白名单机制。

八、京东商城数据架构设计原则

1.统一数据视图。确保数据的及时性、一致性、准确性和完整性。

2.数据和应用分离。应用系统只依赖逻辑数据库;应用系统不直接访问其他主机数据库,而仅通过服务访问。

3.异构数据。当源数据和目标数据的内容相同时,做索引异构,比如不同维度的商品库。当内容不同时,使数据库异构,如订单买方库和卖方库。

4.数据读写分离。对访问量大的数据库进行读写分离,对数据量大的数据库进行子数据库,对不同业务领域的数据库进行分区和隔离,对重要数据进行备份。

5.使用Mysql等主流数据库。除了成本因素,Mysql数据库还有很强的可扩展性,积累了大量丰富的运维经验。

6.合理使用缓存。当数据库能够支持时,尽量不要引入缓存。灾难恢复中缓存的合理利用。

九、京东商城系统运行维护原则

1.它可以被监控。服务的TPS和RT是否满足SLA,是否有意外流量。

2.应用程序可以回滚,功能可以降级。当应用程序出现问题时,需要回滚到以前的版本或执行功能降级。

3.在线扩展。当超出预期流量时,应用系统可以选择在线横向扩展。

4.安全保证。确保系统的保密性和完整性。有足够的抗攻击能力。

5.容错。核心应用程序需要多种活动,避免单点设计

1.基础平台。数据访问的技术部分包括:JFS/吉姆斯多、JSS、JDW、搜索和数据库系统。

2.集成层。服务流程引擎PAF、服务中间件SAF、MQ服务JDMQ、数据库中间件JDAL、调度服务JDWorker、业务规则服务JDRules、配置服务JDCenter和推送服务JMP。

3.质量层。UMP、Loghub、JDriskM、应用管理jdcenter。

其他包括治理层、虚拟平台、运营管理等。

我和大家分享了京东商城的业务架构、技术架构、数据架构、架构原则和运维原则


随商信息技术(上海)有限公司 b2b2c多用户商城系统是基于PHP技术的企业级电子商务平台系统,系统支持平台自营、招商加盟和多商家入驻、集成微信商城、移动端APP商城、微信小程序于一体。公司主营业务包含商城系统定制开发、新零售系统解决方案、电商平台系统定制开发、商城网站建设服务等等,随商为大、中、小企业提供一个安全、高效、强大的电子商务解决方案,协助企业快速构建、部署和管理其电子商务平台,拓展企业销售渠道,致力于推动PHP技术和电子商务行业的发展而不断努力。

文章关键词  
电子商务网站建设
电商平台系统
商城系统

除了供应标准网上商城系统之外,我们还开源商城源码,为您提供电商平台开发定制服务

随商全新版PHP企业级电商平台系统,以客户需求为己任,提供免费网店系统源码给用户体验,为国内客户特别是上海周边客户提供电商平台及网上商城网站建设服务,您的商城开发建站需求,我们来实现!

网上商城建站
包含微信商城网站建设及小程序商城建设等一站式电商系统建站服务,java商城php商城 两种语言。
APP开发
提供APP商城开发,包含Android App 、iOS App等等, 原生APP品质
手机商城开发
提供APP商城、微信商、小程序、手机H5商城搭建及二次开发
电商平台开发
作为电子商务系统提供商,以自研的商城模板为企业提供专业的电商平台系统搭建服务

马上搭建自己的电商平台