京东商城整个的系统架构是什么样的?
一、京东商城整个的系统架构
京东商城系统,融合了自营模式、商城模式、三方平台等模式,跟淘宝、天猫以商城模式为主的电商系统相比,业务模式上要丰富很多,包括许多WMS、TMS、OMS的部分。
京东商城业务架构设计原则
1、业务平台化
业务平台化,相互独立。如交易平台、仓储平台、物流平台、支付平台、广告平台等 。基础业务下沉,可复用。如用户、商品、类目、促销、时效等。
2、核心业务、非核心业务分离
电商核心业务与非核心业务分离,核心业务精简(利于稳定),非核心业务多样化。如,主交易服务、通用交易服务 。
3、区分主流程、辅流程
分清哪些是电商的主流程。运行时,优先保证主流程的顺利完成,辅流程可以采用后台异步的方式。避免辅流程的失败导致主流程的回滚。如,下单时,同步调用快照,异步通知台账、发票 。
4、隔离不同类型的业务
交易业务是签订买家和卖家之间的交易合同,需要优先保证高可用性,让用户能快速下单,履约业务对可用性没有太高要求,可以优先保证一致性 ,闪购业务对高并发要求很高,应该跟普通业务隔离。
延伸阅读:
二、应用架构设计原则
1、稳定性原则
一切以稳定为中心;架构尽可能简单、清晰;不过度设计。
2、接耦/拆分
稳定部分与易变部门分离;核心业务与非核心业务分离;电商主流程与辅流程分离;应用与数据分离;服务与实现细节分离。
3、抽象化
应用抽象化:应用只依赖服务抽象,不依赖服务实现细节、位置;
数据库抽象化:应用只依赖逻辑数据库,不需要关心物理库的位置和分片;
服务器抽象化:应用虚拟化部署,不需要关心实体机配置,动态调配资源。
4、松耦合
跨域调用异步化,不同业务域之间尽量异步接耦。
猜你喜欢LIKE
相关推荐HOT
更多>>怎么向VFP数据表中一次加入多条记录?
一、怎么向VFP数据表中一次加入多条记录以下均以SQL2000、VFP6及以上的表为例代码导入:查询分析器中执行如下语句(先选择对应的数据库)————...详情>>
2023-10-19 12:53:00MySQL的自增ID用完了应该怎么办?
一、MySQL的自增ID用完了应该怎么办解决方案1:使用BIGINT数据类型一种解决方法是使用BIGINT数据类型。BIGINT数据类型的最大值是92233720368547...详情>>
2023-10-19 12:04:41jdbc的resultset底层实现原理是怎样的?
一、jdbc的resultset底层实现原理是怎样的只了解 mysql, mysql 中的 result 默认会把所有结果拿回来。默认情况下,结果集完全检索并存储在内存...详情>>
2023-10-19 09:36:35为什么查询information_schema下的TABLES这么慢?
一、为什么查询information_schema下的TABLES这么慢一般有两个原因。1、是元数据太多,就比如你的例子总共七万多张表,information_schema在统...详情>>
2023-10-19 07:37:52热门推荐
pycharm的使用技巧都有哪些?
沸C语言中定义与声明的含义是什么?
热怎么向VFP数据表中一次加入多条记录?
热JS的机制有哪些?
新MySQL的自增ID用完了应该怎么办?
C++ 写即时通讯服务器用什么数据库比较合适?
云数据库并发数和连接数是个怎样的关系?
为什么现在MySQL无法重命名数据库?
mysql.sock文件是怎么起作用的?
jdbc的resultset底层实现原理是怎样的?
Oracle/MySQL数据库创建索引的原则是什么?
Oracle怎么修改某个字段特定位置的字符?
为什么有些低端云主机(1CPU,4G内存)也提供SQLServer,这大型数据库,能运行吗?
为什么查询information_schema下的TABLES这么慢?