2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

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

评论

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

小游戏与h5游戏开发技术分析

Onegun

小游戏 小程序游戏 H5小游戏

低成本、高效率!华为云桌面助力企业数字化转型

IT科技苏辞

SQLMAP _DNS注入配置方法

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

非常好用的Mac系统清理工具CleanMyMac X2023版本

茶色酒

CleanMyMacX CleanMyMac X CleanMyMac X2023

模块一作业

许你丶

#架构实战营

架构实战营第十期模块一作业

Geek_4db2d5

拒绝等待,华为云CDN下载加速就是要快人一步

路过的憨憨

极客时间架构实战营第10期模块1作业

刘博

架构

架构实战营第 10 期:模块一作业

kaizen

「架构实战营」

Linux apt 命令

芯动大师

linux 文件权限控制

流畅高清,华为云桌面Workspace助力设计师高效办公!

秃头也爱科技

前端食堂技术周刊第 62 期:11 月登陆浏览器的新特性、VueConf 2022、第 93 次 TC39 会议、TS 挑战

童欧巴

CSS JavaScript

架构实战营模块7作业

冷夫冲

架构设计 #架构实战营

小游戏开发游戏引擎指南

Onegun

小游戏 小游戏开发 小程序游戏

华为云大数据BI赋能企业数字化发展

秃头也爱科技

2022-12-06:定义一个概念叫“变序最大和“ “变序最大和“是说一个数组中,每个值都可以减小或者不变, 在必须把整体变成严格升序的情况下,得到的最大累加和 比如,[1,100,7]变成[1,6,

福大大架构师每日一题

算法 rust 福大大

与Web3支付赛道主要项目相比,Zebec生态潜力相当大

BlockChain先知

模块一作业

飞天的卢

nginx学习总结

@下一站

nginx 程序设计 11月日更 web 容器 11月月更

职场沟通术语

J.Smile

沟通技巧

华为云CDN多场景加速,“火速”留住用户

秃头也爱科技

【es】elasticsearch/es搜索服务器介绍

No8g攻城狮

elastic ES Elastic Search #java

架构实战营10期-作业1

炮仗

初步了解Istio

穿过生命散发芬芳

istio 12月月更

盘点JDK中基于CAS实现的原子类

JAVA旭阳

Java Java并发

cleanmymac有用吗?2023最新版本值不值得下载

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

华为云大数据解决方案赋能金融行业发展,打造5G智慧银行营业厅

路过的憨憨

第一周作业

不爱学习的程序猿

敏捷转型下测试团队该如何安放?

QE_LAB

测试 敏捷转型

极客时间运维进阶训练营第六周作业

忙着长大#

极客时间

ELK-logstash使用总结

忙着长大#

ELK

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