到店商详架构变迁

一、项目背景

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

二、架构变迁

1、 主站商详扩展点

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

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

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

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

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

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

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

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

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

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

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

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

3.2 楼层逐步切量

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

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

3.3 楼层分组

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

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

4、 独立服务

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

4.1 整体调用流程

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

4.2 接口分层调用

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

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

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

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

详细调用流程见下图:

作者:京东零售 王江波

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/421514.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文学会Python中的while循环

Python 中的 while 循环是一种用于重复执行代码块的控制结构,它会根据条件的真假来决定是否继续执行循环。本文将深入探讨 Python 中的 while 循环,包括其基本语法、应用场景以及一些示例代码。 基本语法 在 Python 中,while 循环的基本语法…

持续集成工具Jenkins的使用之配置篇(二)

上一篇 :持续集成工具Jenkins的安装配置之安装篇(一)-CSDN博客 接上文 三.Jenkins配置 Jenkins配置主要是针对创建构建任务前做的一些基本配置,这些配置有些是必须的,有些是可以帮我们提高效率的,总之都是Jenkins管理员都要会的…

初识人工智能,一文读懂机器学习之逻辑回归知识文集(1)

文章目录 🏆 初识人工智能(机器学习之逻辑回归)🔎 一、 机器学习之逻辑回归知识文集(1)🍁 01. 什么是逻辑回归?它与线性回归的区别是什么?🍁 02. 逻辑回归的应用场景有哪些?🍁 03. 逻…

【Web前端开发基础】CSS的盒子模型

CSS的盒子模型 一、学习目标 能够认识不同选择器的优先级公式能够进行CSS权重叠加计算,分析并解决CSS 冲突问题能够认识盒子模型的组成部分能够掌握盒子模型的边框、内边距、外边距的作用及简写形式能够计算盒子的实际大小能够了解外边距折叠现象,并知…

百果园上市一年股价腰斩,千亿营收“大饼”画不动了?

作为国内最大的水果零售商,深圳百果园实业(集团)股份有限公司(下称“百果园”,02411.HK)遭遇股价暴跌。 1月16日,百果园开盘后股价大幅跳水,盘中一度跌超34%,最低触及3.…

中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷一级真题(含答案)

一、单选题(共25题,共50分) 1. 小明想在开始表演之前向大家问好并做自我介绍,应运行下列哪个程序?(2分) A. B. C. D. 2. 舞台有两个不同的背景,小猫角色的哪个积木能够切换舞台背景?(2分) A. B. C. D. 3. …

AMD机密计算解决方案分析

AMD机密计算解决方案分析 前言数据结构KVM虚机管理命令平台管理命令字 QEMU 虚机启动流程可信认证基本原理具体流程工具接口 静态度量基本原理具体流程内核启动镜像启动 密钥注入 前言 基于AMD SEV基本原理,继续分析AMD的机密计算解决方案在QEMU/KVM虚拟化方案下的…

k8s-认证授权 14

Kubernetes的认证授权分为认证(鉴定用户身份)、授权(操作权限许可鉴别)、准入控制(资源对象操作时实现更精细的许可检查)三个阶段。 Authentication(认证) 认证方式现共有8种&…

护眼灯品牌哪个好?护眼灯最好的品牌排行

很多家长在帮助孩子选购台灯时可能会遇到一些困扰,而市面上存在许多质量不合格的台灯。曾经有央视节目曝光了许多LED台灯存在严重不合格的情况。尽管目前对于台灯执行强制性产品认证,并不定期进行抽样检查,但仍然存在一些未强制认证的产品在市…

OA和非OA皆可的期刊,选择非OA投稿会被拒吗?

完全没有问题,只要主编决定接收你的文章,选择OA还是非OA期刊发表完全不会影响最终的结果。 为什么期刊同时可选OA/非OA 由作者选择是否开源发表也是解决单纯使用订阅制或者OA模式弊端的一种过渡方式。 传统的非OA期刊需要读者付费 收取的费用不菲导致…

C++从小白到初级工程师【个人学习笔记】

目录 1.背景2.基础二维数组概念二维数组定义方式 二维数组数组名称概念例子 函数的分文件编写概念示例 指针指针的基本概念指针变量的定义和使用 空指针和野指针空指针实例野指针实例 const修饰指针概念const修饰指针 --- 常量指针 指针和数组作用示例 指针和函数作用示例 指针…

CentOS 系统创建网卡bond0

很多时候在机房运维的过程中,我们会遇到客户要求的建立网卡光口的bond0设置,通俗点说就是将两个光口合并为一个口进行链接设置。创建这个设置是有两种设置,一是在安装系统的过程中对bond0进行创建设置,另一种就是通过系统里面对网…