首页 > 其他分享 >到店商详架构变迁

到店商详架构变迁

时间:2024-01-18 11:05:45浏览次数:13  
标签:店侧 调用 架构 变迁 接口 依赖 楼层 商详

一、项目背景

到店商详是平台为京东到店业务提供的专属商详页面,将传统电商购物路径打造成以LBS+门店属性的本地生活服务交易链路。

二、架构变迁

1、 主站商详扩展点

到店商详架构变迁_开发周期

**优点:**到店侧仅关注业务,无需过度关注服务部署、性能优化等。

**缺点:**涉及方较多,需求开发周期长,上线依赖方多;到店侧无法了解到全流程,不利于长期迭代。

2、 主站商详扩展点 + 独立服务

鉴于V1架构开发周期长,依赖方多等原因,到店侧决定将新迭代的某些独立楼层如:附近推荐、附近门店等新建一个服务,由主站商详下发空楼层,具体的楼层数据处理完全交由到店侧。

到店商详架构变迁_开发周期_02

**优点:**相对V1在一定程度上缩短了开发周期,能够独立上线。

**缺点:**由于楼层配置由主站侧控制,独立服务要是未返回有效数据时,前端页面会显示出楼层空隙;到店侧无法了解到全流程,不利于长期迭代。

3、 去除扩展点,完全独立服务

鉴于V1、V2架构等问题,到店侧决定随着新需求更改的同时,将主站到店侧能力copy到独立服务中,完全独立开发上线。

3.1 由到店侧提供完全独立服务

网关接口的提供方由主站侧转向到店侧,前端直接调用到店侧提供的网关接口。

到店商详架构变迁_数据_03

**优点:**一定程度上解决了页面会显示出楼层空隙的问题。

**缺点:**还是有较多能力强依赖于主站侧,后续的迭代规划去除依赖。

3.2 楼层逐步切量

到店商详架构变迁_开发周期_04

**优点:**更多的能力支持自主开发,去除了强依赖。

**缺点:**切量过程中对下游接口存在重复调用。

3.3 楼层分组

随着楼层切量的完成,到店侧有能力定制化楼层配置。为了前端更好的展示效果,与前端议定将返回的楼层结构按照页面显示分块的结构分组。

到店商详架构变迁_数据_05

**优点:**适配页面渲染楼层空隙。

4、 独立服务

基于V1、V2、V3迭代后,到店商详完全独立于到店侧。接下来需要优化独立服务架构。

4.1 整体调用流程

到店商详架构变迁_开发周期_06

缺点:数据依赖层调用存在某些接口的重复调用,如类目信息依赖商品信息、附近门店依赖商品信息等

4.2 接口分层调用

鉴于V4.1的方案,将数据依赖层进行分层调用,这样底层的数据可以复用上层的依赖,可去除重复调用。

**缺点:**某一层的个别接口耗时长会影响整层的数据返回。

4.3 前置调用 + 部分楼层集成

鉴于V4.1、V4.2的方案,采用前置调用来解决接口重复调用的问题、部分楼层集成来代替分层调用(这种改动后耗时长影响的只是某个楼层,而不会影响全局)。

到店商详架构变迁_开发周期_07

详细调用流程见下图:

到店商详架构变迁_数据_08

作者:京东零售 王江波

来源:京东云开发者社区 转载请注明来源

标签:店侧,调用,架构,变迁,接口,依赖,楼层,商详
From: https://blog.51cto.com/u_15714439/9304075

相关文章

  • 到店商详架构变迁
    一、项目背景到店商详是平台为京东到店业务提供的专属商详页面,将传统电商购物路径打造成以LBS+门店属性的本地生活服务交易链路。二、架构变迁1、主站商详扩展点  优点:到店侧仅关注业务,无需过度关注服务部署、性能优化等。缺点:涉及方较多,需求开发周期长,上线依赖方多......
  • 行云部署前端架构解析-前言 | 京东云技术团队
    一个简单的自我介绍项目规模截止目前上万次代码提交,总代码行数1 超过21万行,其中人工维护的代码超过13万行,近千个文件。前端线上服务直接对接的后端服务,达十多个。跟很多应用一样,它有行云的入口,也有独立的服务,还有单独的插件接口它是行云的子应用,也是其它应用的主应......
  • Unity 游戏中的战斗系统的架构与设计
    很多刚开始做游戏的小伙伴感觉战斗系统是一个比较麻烦的部分,不知道如何设计,角色很多,职业很多,技能有好几种,还有装备相关的东西。今天这篇文章详细的讲解一个战斗系统应该如何架构与设计,你看完并搞懂它,战斗系统的架构与设计对你来说再也没有难度了。首先我们先来上一张架构图: ......
  • [疑问] 为什么 Apple Silicon 处理器 MacBook 自带的 zsh 是 x86 架构的?
    问题如题,我有一台MacBookPro2021,某天我突发奇想测试了一下机器自带zsh的架构,输出的结果令人震惊:至于为什么不是ARM架构的,目前不得而知。不过我已经使用Homebrew装上了ARM架构的zsh。解决将默认Shell切换为Homebrew安装的zsh由于Homebrew安装的zsh不在......
  • 苏宁OLAP架构设计
    一.功能综述OLAP引擎为存储和计算二合一的引擎,自身内部涵盖了对数据的管理以及提供查询能力。底层数据完全规划在引擎内部,外部系统不允许直接操作底层数据,而是需要通过暴露出来的接口来读写引擎内部数据。目前整体来说OLAP功能由两部分组成:数据管理,查询引擎。1.1数据管理引......
  • mysql8.0逻辑架构
    1、逻辑架构剖析1.1、服务器处理客户端请求首先MySQL是典型的C/S架构,即Client/Server架构‘,服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发......
  • AIGC PAAS 技术架构
    AIGCPAAS技术架构简介1.引言随着云计算和大数据技术的快速发展,越来越多的企业开始将自己的业务部署到云端。为了满足这些企业的需求,众多云计算平台应运而生。AIGCPAAS(ApplicationIntegrationandGovernanceCloudPlatformasaService)是一种基于云计算的集成和治理平......
  • 网络编程之网络架构及其趋势
    一、网络结构模型C/S和B/S都是互联网中常见的网络结构模型。引言刚开始的时候用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。客户端:用户安装的软件;服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。1.1什么......
  • CS与BS架构
    CS/BSC/S和B/S都是互联网中常见的网络结构模型。(1)什么是C/S模型C/S模型指的是客户端/服务器模型,是一种计算机系统架构模式,其中系统功能被划分为客户端和服务器两个独立的部分,它们通过网络进行通信和协作。这个模型通常用于构建分布式应用程序,其中客户端和服务器分别负责不......
  • Hadoop组件架构
    一、HDFS1.HDFS架构HDFS是一个主/从(Master/Slave)体系结构,由三部分组成:NameNode和DataNode以及SecondaryNamenode:NameNode负责管理整个文件系统的元数据,比如文件名、文件目录结构、文件属性(生成时间、block副本数、权限)、block大小以及组成文件的block信息。DataNode负责文件......