Toxiproxy网络状况模拟

联合创作 · 2023-09-29 06:56

Toxiproxy 是一个模拟网络状况的框架。它是专门为测试、CI 和开发环境工作的,支持确定性的篡改连接,但也支持随机化的混乱和定制。Toxiproxy 是你需要用测试来证明你的应用没有单点故障的工具。

Toxiproxy 的使用由两部分组成。一个用 Go 编写的 TCP 代理(这个资源库包含的内容)和一个通过HTTP与代理通信的客户端。你配置你的应用程序,使所有的测试连接通过Toxiproxy,然后可以通过HTTP操作他们的健康状况。关于如何设置你的项目,请看下面的用法。

例如,要在 Ruby 客户端对 MySQL 的响应中增加 1000ms 的延迟:

Toxiproxy[:mysql_master].downstream(:latency, latency: 1000).apply do
  Shop.first # this takes at least 1s
end

要删除所有 Redis 实例:

Toxiproxy[/redis/].down do
  Shop.first # this will throw an exception
end
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报