在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

评论

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

FIL币价走势如何?FIL币价格未来多少钱一枚?

三伏天口腔上火有口气?用这款牙膏降降火

Geek_50a546

云服务器、虚拟主机以及服务器如何定义的?三者有什么区别?

行云管家

云计算 服务器 云服务器 虚拟主机

国内报价-APP时间加速

Qunar技术沙龙

优化逻辑 优化 优化技巧 优化业务 报价

懂了!时间复杂度O(1),O(logn) ,O(n),O(nlogn)...

Ayue、

数据结构

视频云的全景蓝图,想象力的允诺之地

阿里云CloudImagine

阿里云 计算机视觉 云视频 超视频化 图像增强

网络攻防学习笔记 Day73

穿过生命散发芬芳

网络攻防 7月日更

CGPay Pro钱包APP系统开发需求

Axie Infinity区块链游戏系统开发技术

薇電13242772558

区块链

2021世界人工智能大会召开,百度飞桨人工智能产业赋能中心于上海浦东启动运营

百度大脑

人工智能 大数据 百度 物联网

RAID 概念- RAID-0-1-5-10 的工作原理

学神来啦

Linux 运维自动化 linux运维 raid

完成GitHub个人主页设计,只需要这三步

百度开发者中心

GitHub 主页

手把手教你,从零开始实战搭建SpringCloud Alibaba!这份笔记太牛了!

Java 架构 面试 微服务

了解腾讯京东字节等面试风格,掌握财富钥匙,大厂前端面试稳啦!

前端依依

程序员 面试 大前端 经验分享

思购趣拼APP系统开发内容

加电软件系统开发详情

Vue进阶(幺玖肆):JavaScript解决浮点数精度丢失问题

No Silver Bullet

jquery Vue 浮点数 7月日更

金九银十吃透这份redis笔记文档,让你超过90%的面试者

Java redis 架构 面试

性能优化:空调能耗节能的强化学习探索之路

鲸品堂

性能调优

从零开始学习3D可视化之摄像机自由飞行

ThingJS数字孪生引擎

大前端 可视化 3D 数字孪生

了不起的开发者 丨 有奖征文活动来啦!

百度开发者中心

百度 开发者 征文

CloudQuery 使用教程之 No.5 组织架构

BinTools图尔兹

sql dba 国产数据库 运维开发 数据库管控工具

等保二级与等保三级定级标准是怎样?哪个级别更高?

行云管家

网络安全 数据安全 等保 等级保护

疫情下的在线教育行业未来发展

anyRTC开发者

音视频 WebRTC 在线教育 视频直播 双师课堂

首个SSRF漏洞开篇学习

网络安全学海

网络安全 信息安全 渗透测试 漏洞分析 SSRF

保安小王分享:四面字节跳动,终拿Offer,只有努力,方能成功

Java架构师迁哥

双非本化学跨专业,投岗阿里/滴滴后端三面,最终拿下offer

Java 面试

黔唐百宜软件系统开发内容

优米心选软件系统开发资料

VGC挖矿APP系统开发内容

容器安全最佳实践入门

百度开发者中心

容器

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