Toxiproxy,一個在測試環境中模擬網絡條件的框架

Shopify, 它開發了網絡上最大和最受歡迎的電子商務平台之一,dio近日宣布發布了新版本代理服務器“Toxiproxy 2.3” 它旨在模擬網絡和系統故障和異常,以在發生此類情況時測試應用程序的運行狀況。

該程序的突出之處在於提供了一個 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

最後如果和您有興趣了解更多信息嗎? 你應該知道 Toxiproxy 代碼是用 Go 編寫的,並且擁有 MIT 許可證,你可以在 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。