Toxiproxy網(wǎng)絡(luò)狀況模擬
Toxiproxy 是一個模擬網(wǎng)絡(luò)狀況的框架。它是專門為測試、CI 和開發(fā)環(huán)境工作的,支持確定性的篡改連接,但也支持隨機化的混亂和定制。Toxiproxy 是你需要用測試來證明你的應(yīng)用沒有單點故障的工具。
Toxiproxy 的使用由兩部分組成。一個用 Go 編寫的 TCP 代理(這個資源庫包含的內(nèi)容)和一個通過HTTP與代理通信的客戶端。你配置你的應(yīng)用程序,使所有的測試連接通過Toxiproxy,然后可以通過HTTP操作他們的健康狀況。關(guān)于如何設(shè)置你的項目,請看下面的用法。
例如,要在 Ruby 客戶端對 MySQL 的響應(yīng)中增加 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
評論
圖片
表情
