2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

eBay 平台自动升级解决方案

作者:Aditya Kulkarni

  • 2023-06-21
    北京
  • 本文字数:1072 字

    阅读完需:约 4 分钟

eBay平台自动升级解决方案

最近,eBay 分享了他们在采用管道驱动的自动化解决方案方面的进展。该解决方案让他们能够实现对其框架和基础设施的持续更新。该解决方案的架构有可能变得更加通用,因为它采用了可插拔和松散耦合的方式,提供了良好的可扩展性。


eBay 的平台包括两个关键组件:作为应用程序代码基础的框架和负责托管应用程序的云基础设施。通过利用自动化解决方案,eBay 简化了作业的准备、执行和验证过程,从而显著提高了生产率。


在这个庞大而复杂的市场中,存在各种类型的升级,例如框架升级、框架迁移和云迁移。由于平台的规模和复杂性,这些升级在持续地发生,这也说明了 eBay 系统在不断演化和增强。


我们以一个特定的云迁移案例为例。在这个案例中,我们需要将云基础设施从依赖虚拟机的 Openstratus 迁移到基于容器技术的 Kubernetes。这个迁移对应用程序开发生命周期有所影响,因为它涉及从基于库的清单方法到基于镜像的清单方法的转换。要完成这种类型的迁移,通常需要完成定义好的一系列任务,包括元数据收集、配置工作负载、迁移网络拓扑和流量、创建新实例、实现监控,以及停用以前基于虚拟机的资源池。


只依赖单独的脚本或自动化工具可能不足以确保平台级变更的质量。因此,eBay 团队为他们的自动化解决方案设想了一些特定的功能,包括要求每个工作流包含多个任务,每个任务与生态系统进行无缝交互以执行必要的操作。此外,还需要对工作流任务进行有效的管理和编排,确保自动化框架里的操作能够顺利执行。


该解决方案的架构如下图所示。



图片来源:https://tech.ebayinc.com/engineering/ebays-common-automation-solution-for-platform-evolution/


架构包含了两个主要组件:编排器和可插拔管道。编排器负责根据输入来确定流,并相应地执行预定义任务。在执行流时,编排器确保任务上下文的持久化,可以在下一个任务执行之前对其进行恢复。然后,编排器利用Quartz作为任务调度引擎对任务进行顺序处理。


在编排器启动期间,会有一个流管理器来预加载流定义并激活负责编排任务执行的任务监听器。此外,流管理器还支持任务重试或在必要时跳过特定任务等功能。编排器的内部功能如下所示。



图片来源:https://tech.ebayinc.com/engineering/ebays-common-automation-solution-for-platform-evolution/


之前已经报道了 eBay 开始使用契约测试来安全地演化内部API和满足客户端团队的需求。


eBay 的平台演进涉及可重用任务和组件,包括可以跨不同流共享的强化通用任务。平台团队认为,他们基于管道的自动化解决方案将是支持未来基础设施和框架升级的关键能力。


原文链接

https://www.infoq.com/news/2023/06/ebay-platform-upgrade-automation/

2023-06-21 13:163978

评论

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

数字知识库-知识图谱管理系统

金陵老街

Java 数字化 知识图谱 企事业系统

一文带你认知定时消息发布RocketMQ

华为云开发者联盟

云计算 后端

7 天能找到 Go 工作吗?学学 Go 数组和指针试试

梦想橡皮擦

Python 爬虫 8月月更

Python图像处理丨基于OpenCV和像素处理的图像灰度化处理

华为云开发者联盟

Python 人工智能 图像

如何避免数据湖变成数据沼泽

Kyligence

数据湖 数据管理 智能多维数据库

打了15天,如何做到在容器权限上不失一分?

青藤云安全

容器安全 攻防演练

云图说丨初识可信分布式身份服务

华为云开发者联盟

云计算 安全 后端

如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南

TiDB 社区干货传送门

手把手教你实现 TiFlash 向量化函数丨十分钟成为 TiFlash Contributor

TiDB 社区干货传送门

【8.12-8.19】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

Meta项目功能测试 | 开启PrestoDB和Aria扫描优化

Alluxio

hive presto Alluxio 大数据 开源 8月月更

离线部署系列文章之二:TiDB集群升级(5.3.0->5.4.2)&缩扩容 TiDB Server、PD、TiKV、TiFlash

TiDB 社区干货传送门

版本升级 集群管理 管理与运维 安装 & 部署

前端监控系列3 | 如何衡量一个站点的性能好坏

字节跳动终端技术

字节跳动 前端 性能监控 火山引擎 站点性能

ABAP 一组关键字 IS BOUND, IS NOT INITIAL 和 IS ASSIGNED 的用法辨析

汪子熙

指针 应用 SAP abap 8月月更

SAP ABAP 和 Java 里的弱引用(WeakReference)和软引用(SoftReference)

汪子熙

Java 引用 SAP abap 8月月更

开源一夏 | 在 STM32L051 上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

5分钟,带你看完24岁60W年薪架构师的简历,上面竟然写着精通JVM

收到请回复

Java JVM java面试 简历模板 金九银十

九章云极DataCanvas公司与中国信通院完成可信AI基础软件战略合作

九章云极DataCanvas

人工智能 数据智能 数智化 可信AI

字节一面:HTTPS 一定安全可靠吗?

程序员小毕

Java 程序员 面试 https 校招

修筑产学研用一体化的通衢,从一场比赛背后瞭望苏州园区人才培养新范式

脑极体

前半个月的行动中,整个圈子都在疯传的“内网King”到底是个啥?

青藤云安全

网络安全 主机安全 攻防演练

马拉车算法 (最长回文串 例题 密码截获)

Five

算法 8月月更

OpenHarmony有氧拳击之设备端开发

OpenHarmony开发者

OpenHarmony

如何在企业数字化团队内部实现数据分析建模成果的结构化整合沉淀

ModelWhale

工作流 数字化转型 数字化 案例分享 提高效率

Web3.0 DAPP项目智能合约系统开发技术详情

开发微hkkf5566

故障处理 | DM 搭建 MySQL 8.0 同步链路报错:code=26005

TiDB 社区干货传送门

安装 & 部署 TiDB 源码解读

高效完成需求计划的四个关键 | 敏捷开发

LigaAI

Scrum 敏捷开发 Sprint LigaAI spring event

优雅,永不过时!SpringBoot中这样编写Controller层代码,那叫一个完美

Java永远的神

Java 程序员 面试 程序人生 springboot

当内卷风波及代码领域,看Alluxio将会采取怎样的块分配策略

Alluxio

腾讯 存储 Alluxio block 8月月更

20万字的《Kafka运维实战宝典》PDF现在免费下载了

石臻臻的杂货铺

大数据 kafka

离线部署系列文章之一:TiDBv5.3.0集群部署&源码部署 Haproxy v2.5.0

TiDB 社区干货传送门

实践案例 版本升级 管理与运维 安装 & 部署 扩/缩容

eBay平台自动升级解决方案_中间件_InfoQ精选文章