新版本 telnet 命令使用说明

    新版本的 telnet 端口 与 dubbo 协议的端口是不同的端口,默认为 ,可通过配置文件dubbo.properties 修改:

    或者通过设置 JVM 参数:

    1. -Ddubbo.application.qos.port=33333

    安全

    默认情况下,dubbo 接收任何主机发起的命令,可通过配置文件dubbo.properties 修改:

    1. dubbo.application.qos.accept.foreign.ip=false

    拒绝远端主机发出的命令,只允许服务本机执行

    telnet 模块现在同时支持 http 协议和 telnet 协议,方便各种情况的使用

    示例如下:

    1. ~ telnet localhost 22222
    2. Trying ::1...
    3. telnet: connect to address ::1: Connection refused
    4. Trying 127.0.0.1...
    5. Connected to localhost.
    6. Escape character is '^]'.
    7. ████████▄ ███ █▄ ▀█████████▄ ▀█████████▄ ▄██████▄
    8. ███ ▀███ ███ ███ ███ ███ ███ ███ ███ ███
    9. ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
    10. ███ ███ ███ ███ ▄███▄▄▄██▀ ▄███▄▄▄██▀ ███ ███
    11. ███ ███ ███ ███ ▀▀███▀▀▀██▄ ▀▀███▀▀▀██▄ ███ ███
    12. ███ ███ ███ ███ ███ ██▄ ███ ██▄ ███ ███
    13. ████████▀ ████████▀ ▄█████████▀ ▄█████████▀ ▀██████▀
    14. dubbo>ls
    15. As Provider side:
    16. +----------------------------------+---+
    17. | Provider Service Name |PUB|
    18. +----------------------------------+---+
    19. |com.alibaba.dubbo.demo.DemoService| N |
    20. +----------------------------------+---+
    21. As Consumer side:
    22. +---------------------+---+
    23. |Consumer Service Name|NUM|
    24. +---------------------+---+
    25. dubbo>
    1. ~ curl "localhost:22222/ls?arg1=xxx&arg2=xxxx"
    2. As Provider side:
    3. +----------------------------------+---+
    4. | Provider Service Name |PUB|
    5. +----------------------------------+---+
    6. As Consumer side:
    7. +---------------------+---+
    8. |Consumer Service Name|NUM|
    9. +---------------------+---+

    ls 列出消费者和提供者

    当使用延迟发布功能的时候(通过设置 com.alibaba.dubbo.config.AbstractServiceConfig#register 为 false),后续需要上线的时候,可通过 Online 命令

    1. //上线所有服务
    2. dubbo>online
    3. OK
    4. //根据正则,上线部分服务
    5. dubbo>online com.*
    6. OK

    常见使用场景:

    • 当线上的 QPS 比较高的时候,当刚重启机器的时候,由于没有进行JIT 预热或相关资源没有预热,可能会导致大量超时,这个时候,可通过分批发布服务,逐渐加大流量
    • 当由于某台机器由于某种原因,需要下线服务,然后又需要重新上线服务

      Offline 下线服务命令

    由于故障等原因,需要临时下线服务保持现场,可以使用 Offline 下线命令。

    1. //下线所有服务
    2. dubbo>offline
    3. OK
    4. //根据正则,下线部分服务
    5. OK