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 許可證,你可以在 以下鏈接。