【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

eBay 如何提高通知平台的可靠性

  • 2023-01-17
    北京
  • 本文字数:856 字

    阅读完需:约 3 分钟

eBay如何提高通知平台的可靠性

eBay 工程师一直在使用故障注入技术来提高通知平台的可靠性,并探索其弱点。虽然故障注入是一种常见的行业实践,但 eBay 尝试了一种利用插装将故障注入引入到应用程序层的新方法。

 

该平台负责向第三方应用程序推送平台通知,以提供商品价格、商品库存状态、支付状态等方面的最新变化。它是一个高度分布式和大规模的系统,有许多外部依赖,包括分布式存储、消息队列、推送通知端点等。

 

eBay 工程师 Wei Chen 表示,通常情况下,故障注入是在基础设施层进行的,例如,通过服务器断开连接或超时,或使给定资源暂时不可用,引入 HTTP 错误,从而导致网络故障。这种方法代价高昂,并且对系统的其他部分有许多影响,因此很难单独探索故障的影响。

 

但这并不是唯一可行的方法。相反,可以在应用程序层创建故障,例如,在 HTTP 客户端库中添加特定的延迟以模拟超时。

 

我们对依赖服务的客户端库的类文件进行了插装,以引入我们定义的不同类型的故障。当我们的服务通过插装 API 与底层资源通信时,将会引发引入故障。由于更改了代码,这些故障并没有真正发生在我们的依赖服务中,其效果是模拟的,使我们能够在没有风险的情况下进行实验。

 

三是 eBay 实现的强制调用方法显示错误行为的基本工具:阻塞或中断方法逻辑,例如抛出异常;更改方法的状态,例如更改 response.getStatusCode() 的返回值;以及替换方法参数的值,包括修改发送给方法的参数值。

 

为了实现上述三种类型的插装,我们创建了一个 Java 代理。在代理中,我们实现了一个 classloader ,它将插装应用程序代码中使用方法的代码。我们还创建了一个注解来指示将插装哪个方法,并将插装逻辑放在注解的方法中。

 

此外,eBay 工程师还实现了一个配置管理系统,以动态更改故障注入在运行时的行为。特别是,对于 eBay 应用程序支持的每个端点,工程师可以更改一些参数来测试特定的行为。

 

据 Chen 介绍,eBay 是业界首个使用代码插装在应用程序层实施故障注入的组织。如果你对这种方法感兴趣,请不要错过原文中提供的完整说明。

 

原文链接:

https://www.infoq.com/news/2022/12/eBay-fault-injection-instrument/

2023-01-17 09:415833

评论

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

高绩效团队的 5 个优秀习惯,看看你占了几个?

LigaAI

研发管理 技术团队 绩效管理 研发协作 企业号 7 月 PK 榜

实时数仓浪潮来袭,这些宝藏开源CDC工具助您破壁 | StoneDB数据库观察 第9期

StoneDB

MySQL 数据库 数据分析 StoneDB

首批!无垠代码模糊测试系统通过中国信通院模糊测试能力评估

云起无垠

软件测试/测试开发丨Python、pycharm 安装与环境配置

测试人

Python 程序员 软件测试 pycharm

Web3D智慧养老院数字孪生可视化云平台

2D3D前端可视化开发

智慧养老 智慧养老院 智慧养老管理系统 数字孪生养老院 养老院三维可视化

浅谈如何更好的进行需求评审 | 京东物流技术团队

京东科技开发者

产品经理 测试 研发 需求评审 企业号 7 月 PK 榜

一次元数据空间内存溢出的排查记录 | 京东云技术团队

京东科技开发者

elasticsearch springdata 元数据 内存溢出 企业号 7 月 PK 榜

服务端应用多级缓存架构方案 | 京东云技术团队

京东科技开发者

架构设计 缓存架构 QPS 企业号 7 月 PK 榜 服务端架构

火山引擎 DataLeap 构建Data Catalog系统的实践(二):技术与产品概览

字节跳动数据平台

“One Size Fits All”:一个过时的想法?| StoneDB 学术分享会 #8

StoneDB

MySQL 数据库 StoneDB

制作tomcat镜像

tiandizhiguai

Docker 云原生 k8s

WAIC |思岚科技LPX-T1入选浦东新区人工智能10大创新技术品发布

新消费日报

移动端APP组件化架构实践 | 京东云技术团队

京东科技开发者

APP开发 组件化开发 企业号 7 月 PK 榜 移动端组件化 组件化架构

【ACL 2023】具有高效推理速度的中文领域文图生成扩散模型和工具链

阿里云大数据AI技术

人工智能 自然语言处理 nlp 图文生成 企业号 7 月 PK 榜

Boundless Hackathon @Stanford 主题黑客松活动闭幕,一文回顾

西柚子

TP-LINK面试真题和答案,您能做对几道?

王磊

Java java面试

MobPush Android常见问题

MobTech袤博科技

Android;

Hudl × 微帧,为美国运动分析平台提供极致视频编码服务

微帧Visionular

AQS的今生,构建出JUC的基础

不在线第一只蜗牛

AQS JUC 可视化数据分析搭建

IPQ4019 IPQ4029 what’s the difference?|802.11AC solution

wallyslilly

IPQ4019 ipq4029

eBay如何提高通知平台的可靠性_安全_Sergio De Simone_InfoQ精选文章