Toxiproxy,一个在测试环境中模拟网络条件的框架

Shopify, 它开发了网络上最大和最受欢迎的电子商务平台之一,dio 最近宣布推出新版本的代理服务器 «Toxiproxy 2.3» 它旨在模拟网络和系统中的故障和异常情况,以在发生此类情况时测试应用程序的状态。

该程序的突出之处在于提供了一个 API 来动态改变通信通道的特性,该 API 可用于将 Toxiproxy 与单元测试系统集成,此外还支持持续集成平台和开发环境。

关于 Toxiproxy

这个框架 专为在测试环境中工作而设计, CI 和开发,并支持连接的确定性操作,但支持随机混乱和定制。

基本上, Toxiproxy 被定位为一种工具 所有需要的人 对没有单点故障的应用程序执行演示测试。 自 2014 年 XNUMX 月以来,Toxiproxy 已成功用于 Shopify 上的所有开发和测试环境。

toxiproxy的使用由两部分组成。 一个用 Go 编写的 TCP 代理(此存储库包含的内容)和一个通过 HTTP 与代理通信的客户端。 这会配置应用程序,以便所有测试连接都通过 Toxiproxy,然后可以通过 HTTP 操作它们的状态。

换句话说,代理 在被测试的应用程序和与该应用程序交互的网络服务之间启动, 之后,您可以模拟接收服务器响应或发送请求时发生一定延迟,更改带宽,模拟拒绝接受连接,中断正常建立或关闭连接的过程,重新建立已建立的连接,扭曲包的内容。

为了从应用程序控制代理服务器的操作,提供了 Ruby、Go、Python、C#/.NET、PHP、JavaScript/Node.js、Java、Haskell、Rust 和 Elixir 的客户端库,允许您更改即时交互条件网络并立即评估结果。

要在不更改代码的情况下更改通信通道的特性,可以使用特殊的 toxiproxy-cli 实用程序(Toxiproxy API 应该用于单元测试,该实用程序可用于交互式实验)。

Toxiproxy 2.3 有什么新功能?

至于发布的新版本中包含的更改,提到包含用于 HTTPS 的客户端端点控制器。

以及将典型的测试驱动程序分离到单独的文件中,执行 client.Populate API。

除此之外,还突出了对 armv7 和 armv6 平台的支持以及更改服务器注册表级别的能力。

在 Linux 上安装 Toxiproxy

对于那些有兴趣能够安装此框架以进行测试的人,他们可以这样做 按照我们在下面分享的步骤。

如果您是 Debian、Ubuntu 或任何其他基于这些的发行版, 您可以通过打开终端来执行安装(您可以使用键盘快捷键 Ctrl + Alt + T)并在其中输入:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

然后我们继续执行安装:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

在那些情况下 支持 RPM 包的发行版用户,如 Fedora、openSuse、RHEL 等,要下载的包如下:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

然后通过键入以下内容安装软件包:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

安装完成后,您可以通过在终端中执行以下命令来启动服务:
sudo service toxiproxy start

最后如果 e您有兴趣了解更多有关它的信息, 您应该知道 Toxiproxy 代码是用 Go 编写的并且具有 MIT 许可证,您可以在 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。