写点什么

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

评论

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

融云 IM SDK 转 AndroidX

融云 RongCloud

IM

【数独问题】经典面试题:解数独 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

跳表

一个大红包

3月日更

助我拿到37KOffer,这份阿里巴巴890页Redis笔记可谓功不可没

Java架构之路

Java 程序员 架构 面试 编程语言

嵌入式技术与人工智能有什么关系?

cdhqyj

人工智能 嵌入式 系统 科技

San CLI 的实现原理

百度Geek说

cli service san command

优化自动化测试流程,使用 flask 开发一个 toy jenkins工具

和牛

Python 软件测试

DataPipeline亮相“2021科技助力湾区数字金融发展峰会”,解锁“实时数据管理”密码

DataPipeline数见科技

并发编程-原子操作CAS

赖猫

c++ 高并发 并发 CAS Linux服务器开发

CodeHub#4 前情预告|H5 容器在技术实践中的应用

蚂蚁集团移动开发平台 mPaaS

html5 移动开发 codehub 教育科技

​Web攻击怎么办?安全防护有方案

安全

融云即时通讯SDK集成 -- 国内厂商推送集成踩坑篇(Android平台)

融云 RongCloud

即时通讯

OpenKruise v0.8.0 版本发布:K8s 社区首个规模化镜像预热能力

阿里巴巴云原生

容器 云原生 k8s 安全 应用服务中间件

叹服!微软自爆虐心405页程序员面试通关手册,Github上已获赞75.6K

Java架构之路

Java 程序员 架构 面试 编程语言

写作的意义

ES_her0

28天写作 3月日更

Linux 高并发服务器 select/poll实现

赖猫

Linux linux编程 linux开发 Linux服务器开发

十四五重头戏的工业互联网,为什么需要IP化先行

脑极体

互联网信贷风险与大数据 存量管理

张老蔫

28天写作

高质量、高并发的实时通信架构设计与探索

融云 RongCloud

架构 通信

浅谈:国内低代码开发平台能搭建哪些企业管理系统?

优秀

低代码开发平台

融云集成之避坑指南-Android推送篇

融云 RongCloud

音视频

为啥你一入场就开始跌呢?聊聊长期主义

池建强

长期主义

飞行汽车到底能不能普及?

石云升

思维方式 科技革命 28天写作 3月日更

融云即时通讯SDK集成 -- FCM推送集成指南(Android平台)

融云 RongCloud

即时通讯

对标阿里P7Java架构师面试题,已助我拿下字节、蚂蚁、滴滴三家Offer

Java架构之路

Java 程序员 架构 面试 编程语言

Redis和Memcached的区别

赖猫

redis memcached 服务器开发 Linux服务器开发

读书笔记:我的安全世界观

架构精进之路

安全 #读书 3月日更

WebRTC服务器模型

赖猫

音视频 WebRTC

网易游戏基于 Flink 的流式 ETL 建设

Apache Flink

flink

粉丝福利 | 秒 get 支付宝同款扫码组件

蚂蚁集团移动开发平台 mPaaS

支付宝 二维码 mPaaS 扫码 QRCODE

【得物技术】推荐系统是如何做排序的

得物技术

推荐 推荐系统 排序 得物技术 召回

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