在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

eBay 改造“2.5 亿次访问”页面:工作效率翻倍、变更成功率飙升

  • 2023-08-08
    北京
  • 本文字数:1070 字

    阅读完需:约 4 分钟

eBay改造“2.5亿次访问”页面:工作效率翻倍、变更成功率飙升

eBay整合了负责提供“查看商品”页面的服务——该页面每天加载超过 2.5 亿次——去除了重复代码,提高了开发人员的工作效率。结果,他们的团队速度翻了一番,现在甚至可以每天将变更部署到该页面,并且变更失败率降低了许多。

 

在经历了十年的自然增长之后,eBay 用于支撑“查看商品”页面的代码库已经变得相当难以维护,因为需要将更改复制到 4 个支撑平台(桌面、移动 Web、iOS 和 Android)上。这导致一次页面更改需要花费数周的时间,而部署最多一个月才能进行一次。



图片来源:https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/

 

团队决定解决这个问题,并一致同意改进关键的DevOps指标(参见 Nicole Forsgren、Jez Humble 和 Gene Kim 在Accelerate 一书中的定义)。新架构需要将现有的 3 个服务整合到一个 View Item Experience Service 中,以支持不同的平台,增强所有平台的用户体验,消除重复代码,提高开发体验和生产力。

 

为了实现增量迁移,在替换现有架构时需要引入一个新的服务。该服务开始时只负责代理数据,然后逐渐迁移并合并所有平台的业务逻辑。最后,升级客户端使其使用新服务,并停用遗留服务。

 

为了做好变更准备,团队一开始时曾试图分析遗留代码并编写文档。事实证明,这个过程非常缓慢而有挑战性。因此,他们改变了策略,集中精力快速了解了遗留模块,获得了一个高级视图,然后基于此对现有的功能进行了逆向,并编写了描述新实现的文档。为了进一步简化流程,他们将后端更改与面向用户的更改解耦,使得后端团队可以加速后续的迁移。

 

eBay(买家体验工程)副总裁Lakshimi Duraivenkatesh及其协同开发者描述了这项现代化工作的成果:

这些改进最终将速度提高了 200%。更好的是,我们立马在项目的模块迁移阶段看到了这种提升。从第一个模块到最后一个模块,每个模块的迁移都会带来相应的速度提升。随着项目接近完成,我们在新产品改进方面的的工作量已经减少了 50%(以天为单位)。

 

团队超额完成了所有初始目标,变更失败率变得非常低(即使部署更频繁)。与此同时,变更的交付时间和平均恢复时间(MTTR)也大大减少了。



图片来源:https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/

 

新的业务逻辑实现使用了新的现代化技术栈和更快的自动化管道。更好的文档、更干净的代码则改善了开发体验,降低了团队新成员的上手难度。

 

原文链接:

https://www.infoq.com/news/2023/06/ebay-view-item-page-rework/


相关阅读:

eBay平台自动升级解决方案

eBay和Lastminute采用契约测试来驱动架构演进

2023-08-08 08:002556

评论

发布
暂无评论
发现更多内容

RecyclerView使用GridLayoutManager为什么无法均匀分布?

Changing Lin

11月日更

如何用 Flutter开发一个直播应用

RTE开发者社区

flutter 人工智能

Android 实现水印背景效果,kotlin教程

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android音视频开发面试题

android 程序员 移动开发

golang源码学习--context

en

Context

Android 应用层开发 Drawable 的一些叨叨絮(1),androidstudio中文社区

android 程序员 移动开发

优酷小程序优化实战

阿里巴巴终端技术

小程序 ios android 客户端 包大小

Linux踩过的坑

正向成长

Linux

300M的文件,9秒钟下载完成,这款软件真的太离谱!

懒得勤快

模块二作业

ks

【应用分享】百度超级链助力CFCA建设基于区块链的电子数据存证系统

百度开发者中心

百度 超级链

又碰到一个奇葩的BUG

艾小仙

Android 屏幕适配方案,安卓开发

android 程序员 移动开发

通过Rainbond的团队管理去管理已有的组织架构

北京好雨科技有限公司

最佳实践 多租户 开源软件 rainbond

如何给企业制定碳排放额度?

石云升

学习笔记 碳中和 11月日更 碳交易

android 对不同日期和时间的格式方法的封装,46道面试题带你了解高级Android面试

android 程序员 移动开发

并发编程之深入理解CAS

Fox爱分享

CAS 并发’ 11月日更 比较与交换

JWT、JWS与JWE

喵叔

11月日更

茜纱窗下夜读书(2021年11月)

美月

#读书

用户案例|告别传统金融消息架构:Apache Pulsar 在平安证券的实践

Apache Pulsar

Apache Pulsar

专业版再增强 | MSE 无缝兼容 Eureka 协议,性能提升50%

阿里巴巴中间件

阿里云 微服务 云原生 中间件 Eureka

Android 常见的数据存储方式,腾讯T2大佬手把手教你

android 程序员 移动开发

资产管理系统是管钱的吗?不完全对

低代码小观

企业管理 资产配置 资产管理 管理系统 企业资产

客户端稳定性异常检测:函数接口“扫雷”实践

阿里巴巴终端技术

函数式接口 稳定性测试 异常检测 客户端 APP稳定性

如何使用注解优雅的记录操作日志 | 萌新写开源 01

Zhendong

Java GitHub

Android 应用层开发 Drawable 的一些叨叨絮,跨平台移动开发答案

android 程序员 移动开发

高风险IP究竟来自哪里?IP定位带你反欺诈

郑州埃文科技

Python代码阅读(第54篇):斐波那契数列

Felix

Python 编程 斐波那契 阅读代码 Python初学者

AliRTC 开启视频互动 “零计算” 时代

阿里云CloudImagine

阿里云 音视频 RTC 视频云

软件测试面试屡屡失败,面试官总是说逻辑思维混乱,怎么办?

六十七点五

学习方法 面试 软件测试 自动化测试 测试工程师

WordPress站点快速集成腾讯数字身份管控平台CIAM,免开发实现登录认证

腾讯安全

eBay改造“2.5亿次访问”页面:工作效率翻倍、变更成功率飙升_性能优化_Rafal Gancarz_InfoQ精选文章