10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

开源一夏 | 深入理解 Spring Cloud Gateway 的原理

悟空聊架构

开源 Gateway 认证 签约计划第三季

Geoffrey Hinton:深度学习的下一个大事件

OneFlow

人工智能 神经网络 深度学习

阿里云数据存储生态计划发布,助力伙伴数据创新

云桌派

阿里云

流动性质押挖矿系统开发如何制作?单双币系统开发成熟技术

开发微hkkf5566

react高频面试题总结(一)

helloworld1024fd

React

C++关于函数参数的分析与函数重载进阶教程

CtrlX

c++ 编程语言 后端 cpp 8月月更

博云入选Gartner中国DevOps代表厂商

BoCloud博云

云计算 容器 DevOps 云原生 云平台

受邀出席Rust开发者大会|Rust如何助力量化高频交易?

非凸科技

量化策略 量化交易

你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑

雨果

数字化转型 数字化

开源一夏 | GO语言框架中如何快速集成日志模块

Masters

开源

【LeetCode】设计数字容器系统Java题解

Albert

LeetCode 8月月更

一体化在线政务服务平台,小程序容器技术加速建设步伐

Speedoooo

小程序 小程序容器 政务平台

React高频面试题合集(二)

helloworld1024fd

React

Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架

小周先生

开源 Vite2 vue3.0 #开源 8月月更

外包学生管理系统架构文档

“纯C”实现——三子棋小游戏

一介凡夫

c 后端、 #开源 8月月更

小程序插件的生态丰富,加速开发建设效率

Speedoooo

小程序 小程序容器 小程序插件

10份重磅报告 — 展望中国数字经济未来

阿里技术

研究报告

爆款视频怎么做?这里或许有答案!

博文视点Broadview

转转反爬攻防战

转转技术团队

爬虫

重磅大咖来袭!阿里云生命科学与智能计算峰会精彩内容剧透

阿里云弹性计算

高性能计算 生命科学 AI制药 智能计算

DVWA 通关记录 2 - 命令注入 Command Injection

Todd-Lee

阿里前端智能化技术探索和未来思考

阿里技术

前端 智能化

C++引用分析实例与案例刨析及使用场景分析详解

CtrlX

c c++ 后端 程序员进阶 8月月更

FinClip | 来了, 2022 年 7 月更新大盘点

FinClip

OSI 七层模型和TCP/IP模型及对应协议(详解)

Five

TCP/IP TCP协议 8月月更

Maven中的scope

六月暴雪飞梨花

maven 开源 技术 8月月更 scope

react常见面试题

helloworld1024fd

React

8大软件供应链攻击事件概述

SEAL安全

开源 DevOps DevSecOps 软件供应链安全 软件供应链攻击

松哥手把手教你在 Vue3 中自定义插件

江南一点雨

Java Vue

如何在技术上来保证LED显示屏质量?

Dylan

LED显示屏 led显示屏厂家

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