新版本 telnet 命令使用说明

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

    或者通过设置 JVM 参数:

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

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

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

    或者通过设置 JVM 参数:

    1. -Ddubbo.application.qos.accept.foreign.ip=false

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

    示例如下:

    1. ~ curl "localhost:22222/ls?arg1=xxx&arg2=xxxx"
    2. As Provider side:
    3. +----------------------------------+---+
    4. | Provider Service Name |PUB|
    5. +----------------------------------+---+
    6. |org.apache.dubbo.demo.DemoService| N |
    7. +----------------------------------+---+
    8. +---------------------+---+
    9. |Consumer Service Name|NUM|
    10. +---------------------+---+
    1. dubbo>ls
    2. As Provider side:
    3. | Provider Service Name |PUB|
    4. +----------------------------------+---+
    5. |org.apache.dubbo.demo.DemoService| Y |
    6. +----------------------------------+---+
    7. As Consumer side:
    8. +---------------------+---+
    9. |Consumer Service Name|NUM|
    10. +---------------------+---+

    列出 dubbo 的所提供的服务和消费的服务,以及消费的服务地址数

    Online 上线服务命令

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

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

    常见使用场景:

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

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

    help 命令

    1. dubbo>help
    2. //列出单个命令的具体使用情况
    3. +--------------+----------------------------------------------------------------------------------+
    4. | COMMAND NAME | online |
    5. +--------------+----------------------------------------------------------------------------------+
    6. | EXAMPLE | online dubbo |
    7. | | online xx.xx.xxx.service |
    8. +--------------+----------------------------------------------------------------------------------+
    9. dubbo>

    QoS参数可以通过如下方式进行配置

    • 系统属性
    • dubbo.properties
    • XML方式
    • Spring-boot自动装配方式

    其中,上述方式的优先顺序为系统属性 > dubbo.properties > XML/Spring-boot自动装配方式。

    1. -Ddubbo.application.qos.enable=true
    2. -Ddubbo.application.qos.port=33333
    3. -Ddubbo.application.qos.accept.foreign.ip=false

    使用dubbo.properties文件进行配置

    在项目的src/main/resources目录下添加dubbo.properties文件,内容如下:

    1. dubbo.application.qos.enable=true
    2. dubbo.application.qos.port=33333
    3. dubbo.application.qos.accept.foreign.ip=false

    如果要通过XML配置响应的QoS相关的参数,可以进行如下配置:

    使用spring-boot自动装配方式配置

    1. dubbo.application.qosEnable=true