实现 Dubbo 断网

若您需要在 Dubbo 断网的环境下测试应用是否能正常运行,使用 PelicanDT 可以轻松地模拟 Dubbo 断网的测试环境。本文将介绍使用 PelicanDT 实现 Dubbo 断网的方法。

前提条件

操作步骤

本示例将模拟 Dubbo 环境下 8085 端口断网 20s 的测试环境。具体操作步骤如下:

  1. 下载 Dubbo-example 工程(用于禁止端口网络访问的示例)。

  2. 在路径 Dubbo-example/src/test/resources/env/func 下打开 Dubbo.properties 配置文件,并填入您的服务器 IP、用户名和登录密码等信息。

  3. 在路径 Dubbo-example/src/test/java/com/alibaba/pelican/rocketmq 下打开 TestDubboNetwork.java 文件并运行单元测试。

结果验证

执行程序后,日志输出内容如下:

  1. 2019-02-01 17:20:30 [INFO] [main] c.a.p.c.client.utils.NetAccessUtils - Block port 8085 protcol TCP, dalay time 20 seconds.
  2. 2019-02-01 17:20:45 [INFO] [main] c.a.p.rocketmq.TestDubboNetwork - Operation timed out (Connection timed out)
  3. Hello 123123, response form provider: 10.66.204.25:20880
  • 通过第 1 行日志可以看出,8085 端口断网;
  • 通过第 2 行日志可以看出,在 8085 端口断网的情况下,接口访问超时;
  • 通过第 3 行日志可以看出,端口网络恢复后,接口访问成功。