若您需要測試應用在服務器網絡中斷的情況下是否能正常運行,通過 PelicanDT 可輕松地模擬服務器網絡中斷的測試環境。本文將介紹使用 PelicanDT 中斷服務器網絡的方法。

前提條件

  • 您已安裝 PelicanDT SDK ,請參見安裝 PelicanDT SDK
  • 您已在 Linux 遠程服務器上運行應用。

操作步驟

本示例將模擬服務器網絡中斷 30s 的環境,具體操作步驟如下:

  1. 將下方代碼添加至您的工程,并進行以下配置:
    1. 在代碼中填入您的遠程服務器的 IP、用戶名和登錄密碼等信息。
    2. 設置 blockIP,即需要設置網絡中斷的服務器 IP。
    3. 設置中斷時間,本示例中為 30 秒。
    import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
    import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
    import com.alibaba.pelican.chaos.client.utils.NetAccessUtils;
    
    /**
     * @author moyun@middleware
     */
    public class DemoNetAccess {
    
        public static void main(String[] args) {
    
            //遠程服務器IP
            String ip = "";
            //遠程服務器用戶名
            String userName = "";
            //遠程服務器登錄密碼
            String password = "";
            RemoteCmdClientConfig config = new RemoteCmdClientConfig();
            config.setIp(ip);
            config.setUserName(userName);
            config.setPassword(password);
    
            RemoteCmdClient client = new RemoteCmdClient(config);
            //設置blockIP
            String blockIP = "";
            //持續時間s
            int delaySecond = 30;
            //網絡中斷
            NetAccessUtils.blockIPInput(client, blockIP, delaySecond);
        }
    
    }
  2. 運行您的工程。

驗證結果

A 為遠程服務器,B 為設置網絡中斷的服務器。執行示例程序前,登錄 B 服務器,通過 B 服務器向 A 服務器執行ping 命令,可訪問成功。執行示例程序后,網絡被中斷,訪問失敗,30 秒后網絡恢復,可繼續訪問。image01