写点什么

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

评论

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

按键开关机的锂电池充放电解决方案

芯动大师

聚沙成塔,繁花依旧

少油少糖八分饱

投资 理财 繁花 年会不能停

用二维码介绍产品详情,扫码查看图文并茂的宣传册

草料二维码

ElasticSearch降本增效常见的方法 | 京东云技术团队

京东科技开发者

Prometheus配置Basic Auth进行安全防护,实现登录控制

华为云开发者联盟

开发 华为云 华为云开发者联盟

奇遇未来新动态!AIGC产品经理教学终于来了!

极客天地

ByConity 社区回顾|ByConity 和开发者们一起展望未来,携手共进!

字节跳动数据平台

开源数据库 ByConity

Brc20钱包横评推荐:谁更适合玩铭文?

股市老人

WorkPlus卓越的即时通讯工具,助力企业提升工作效率

BeeWorks

WorkPlus企业打破信息孤岛,构建统一工作平台的首选之一

BeeWorks

DevOps|我们需要什么样的产研项目管理工具

laofo

项目管理 DevOps cicd 研发效能 敏捷管理

测试工程师必知的10大测试法则

禅道项目管理

测试 自动化测试

软件开发

Geek_8da502

服务器卡顿,打开文件卡住的原因有哪些

德迅云安全杨德俊

WorkPlus企业内部即时通信新选择,打造高效协作新格局

BeeWorks

JavaScript面向对象之实践项目

伤感汤姆布利柏

我想做一款软件产品,应该怎么做?

天津汇柏科技有限公司

创新创业 产品原型设计软件

聚道云软件连接器助力知名企业,提升合同管理效率

聚道云软件连接器

案例分享

WorkPlus助力企业高效协作的企业级内网即时通讯解决方案

BeeWorks

WorkPlus领先企业即时通信软件,提升团队沟通效率的利器

BeeWorks

定期做好这件事,减少技术债,拒做背锅侠

极狐GitLab

随想2024.01.15

hackstoic

生活感悟

良心推荐!几款收藏的神级IDEA插件分享

Java随想录

Java IDEA

京东ES支持ZSTD压缩算法上线了:高性能,低成本 | 京东云技术团队

京东科技开发者

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