写点什么

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

评论

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

Django笔记十之values_list指定字段取值及distinct去重处理

Hunter熊

Python django distinct values

MobPush Android SDK厂商通道申请指南

MobTech袤博科技

DAYU200关闭自动息屏的几种方式

坚果

OpenHarmony 三周年连更

SAP Emarsys 和 SAP Spartacus 的集成

汪子熙

SAP Spartacus 思爱普 三周年连更 Emarsys

华为云网站安全解决方案:中小型企业的云上云下安全守护专家

YG科技

在Mac上快速体验AI作画

IT蜗壳-Tango

三周年连更

跨平台应用开发进阶(五十)uni-app ios web-view嵌套H5项目白屏问题分析及解决

No Silver Bullet

uni-app ios 跨平台应用开发 三周年连更 web-view

Java线程中的wait、notify和notifyAll解析

共饮一杯无

Java 多线程 三周年连更

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

汀丶人工智能

人工智能 自然语言处理 深度学习 ChatGPT

动态资源技术JSP|Java与Html的美好相遇

浅羽技术

Java html 服务端 jsp 三周年连更

热爱所有热爱

闫同学

三周年连更

使用 docker manifest 构建跨平台镜像

江湖十年

Docker Desktop docker image docker build Docker 镜像

《设计模式之禅》Proxy_Pattern--代理模式

浅辄

设计模式 代理模式 三周年连更

IPv6域名软件

穿过生命散发芬芳

ipv6 三周年连更

开源趣事~记给OpenHarmony提PR的那些事

Bob

开源 Open Harmony

基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像

DS小龙哥

三周年连更

Spring Boot整合多数据源实践

Java Spring Boot

如何在业务开发中使用适配器模式?

“程序员”未来会失业吗 | 社区征文

BROKEN

三周年征文

MySQL8.0 优化器介绍(三)

GreatSQL

MySQL greatsql greatsql社区

尚能饭否|技术越来越新,我对老朋友jQuery还是一如既往热爱

浅羽技术

jquery 前端 Web 框架 三周年连更

华为云网站安全解决方案助力客户——构建风险全面可控的网站安全架构

YG科技

全栈开发实战|Spring Boot文件上传与下载

TiAmo

Spring Boot 三周年连更 Apache Commons 文件上传下载

Springboot如何手动连接库并获取指定表结构|超级详细,建议收藏

bug菌

springboot 三周年连更

通过小程序容器技术让App实现灰度发布

没有用户名丶

Java枚举和注解

timerring

Java 三周年连更

灵活应用Nginx Rewrite:实战经验与实用方法

小毛驴的烂笔头

nginx linux运维

项目讲解之常见安全漏洞

越长大越悲伤

Java Web 安全

Karmada v1.5发布:多调度组助力成本优化

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

Intents ,快速完成任务的最强辅助

鼎道智联

AI

跨平台图像浏览器:XnViewMP 中文激活版

真大的脸盆

Mac Mac 软件 图像查看 图像浏览

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