写点什么

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

评论

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

Elasticsearch partial update

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

就是没想法?你可能太理性了!

Justin

心理学 创意 28天写作

从JAVA内存到垃圾回收,带你深入理解JVM

华为云开发者联盟

Java JVM 内存 虚拟机 垃圾回收

静下心来

阿萌

程序人生 28天写作 青城

产品训练营第二章作业

Geek_79e983

Soul 源码阅读 04|Zookeeper 同步数据分析

哼干嘛

Mybatis【15】-- Mybatis一对一多表关联查询

秦怀杂货店

mybatis

机器学习·笔记之:这节课在干啥?

Nydia

【JS】执行静态代码

德育处主任

JavaScript 大前端 js 28天写作

产品经理-作业2

简小一

开发质量提升系列:问题登记列表(上)

罗小龙

生产事故 28天写作 解决思路

【Skeleton】布局

德育处主任

CSS 大前端 html/css 28天写作 纯CSS

《分布式云边缘容器服务能力要求》《分布式云运维服务能力要求》标准研讨会成功召开

云计算 分布式

Spring Boot 搭建实际项目开发中的架构

武哥聊编程

Java 架构 springboot SpringBoot 2 28天写作

SpringBoot 2.0 中 HikariCP 数据库连接池原理解析

vivo互联网技术

数据库 ThreadLocal springboot Spring Boot 2 HikariCP

第二周作业-利益相关方

Au revoir

【CSS】角标(伪元素)

德育处主任

css3 html/css 28天写作 纯CSS

GNUCash 3: 科目布局

lidaobing

GNUCash 28天写作

酒话?醉话?真话?写在2021年的开始

ITCamel

2020年总结 2021年展望

产品经理训练营作业-利益相关方

郭郭

卡在了去治疗拖延的路上「幻想短篇 18/28」

道伟

28天写作

28天瞎写的第二百二十八天:用 UltraEdit 找优越感的故事

树上

28天写作 UltraEdit

第二章作业

Deborah

请给我一个被辞退的正当理由

熊斌

职场 28天写作

面试必问:如何实现Redis分布式锁

华为云开发者联盟

redis 分布式锁 redisson

产品经理训练营作业 01

KingSwim

第四课作业

糯米~

【CSS】文字毛玻璃效果(简单版)

德育处主任

html/css CSS小技巧 28天写作 纯CSS

产品经理训练营-第二、三周作业

发条檀木

产品经理训练营

react-router学习笔记

hao-kuai

React-Router

批判性思维自修课(二)

石君

28天写作 批判性思维

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