写点什么

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:002403

评论

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

数据结构——顺序表

若尘

数据结构 6月日更

支持低代码开发和远程真机,DevEco Studio 2.2 Beta1来啦

科技汇

JAVA 面向对象 (十四)-- 关键字abstract、final

加百利

6月日更

代码管理工具:Git和SVN

正向成长

git svn

Gopher China 2021,未来可期

非晓为骁

个人提升 架构师 Go 语言 GopherChina gopher

为什么switch的case没有break不行

叫我阿柒啊

Switch case break

计算机网络的 89 个核心概念

苹果看辽宁体育

后端 计算机网络 网络

面试官:你知道怎么求素数吗?

华为云开发者联盟

面试 开发者 开发 代码 素数

12种mysql常见错误总结 +分析示例

李阿柯

MySQL 面试 常见问题

基于 Web 引擎扩展技术的 RTC 混合开发框架实践

白玉兰开源

大前端

使用 Scala 宏解决对象转换

GrowingIO技术专栏

scala protobuf 元编程 macro

从零开始学习3D可视化之事件绑定

ThingJS数字孪生引擎

大前端 物联网 3D 3D可视化

联想服务斩获两项智能运维大奖 助力企业业务创新与数字化转型

科技大数据

AI如何赋能软硬件产品创新?百度大脑开放日西安站解密

百度大脑

AI 百度大脑 开放日 EdgeBoard

神经网络吴恩达, 解析极限编程--Kent Beck, Cynthia Andres John 易筋 ARTS 打卡 Week 53

John(易筋)

ARTS 打卡计划

CentOS7 Linux服务器无法远程ssh登陆故障处理

Liyuanjie

Centos 7 linux运维 Linux内核

AI论文解读:基于Transformer的多目标跟踪方法TrackFormer

华为云开发者联盟

预测 Transformer 多目标跟踪 TrackFormer 跟踪目标

EasyRecovery——一款专业的数据恢复软件

淋雨

文件恢复 Easyrecovery破解 免费恢复软件 硬盘数据恢复

带你认识9种常用卷积神经网络

华为云开发者联盟

神经网络 深度学习 卷积神经网络 图像 卷积

可视化搭建的一些思考和实践

白玉兰开源

拥抱开放的英特尔 让PC行业再次越过创新鸿沟

E科讯

Rust从0到1-自动化测试-测试组织

rust 单元测试 集成测试 自动化测试

30分钟接入SDK 融云是如何让开发者做到开箱即用的?

融云 RongCloud

深度解读MRS IoTDB时序数据库的整体架构设计与实现

华为云开发者联盟

大数据 架构 时序数据库 FusionInsight MRS MRS IoTDB

掌门教育自研APM实际分享

白玉兰开源

容器化 | 在 Kubernetes 上部署 RadonDB MySQL 集群

RadonDB

MySQL Kubernetes 容器

冰泉奶茶香牙膏好不好?奶茶控的宝藏牙膏就是它

Geek_50a546

🏆「作者推荐」【JVM原理探索】深入理解G1垃圾收集器的原理和运行机制

码界西柚

G1 JVM 6月日更 垃圾回收器

爆赞:这份Github神仙面试笔记,不愧是上了标星120k+的Java面试手册

Java 编程 程序员 架构 面试

HarmonyOS学习路之开发篇——公共事件与通知(一)

爱吃土豆丝的打工人

Java HarmonyOS 鸿蒙操作系统

回忆录 | 那些你不能错过的CTF夏令营往届历程,2021精彩继续……

郑州埃文科技

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