Dubbo使用invoke指令来调用dubbo接口
前言
最近被分配了一个任务,是通过dubbo
的方式对外提供服务,dubbo
没有我们一般的web项目中的Controller
层,所以没有办法通过http
的方式进行调用调试。作为萌新的我,确实有点一筹莫展,直到被老司机提醒使用dubbo
invoke
的方式进行接口测试,我才有方向。
关于dubbo的搭建可参考我的博客:SpringBoot使用dubbo实现RPC调用
正文
首先我们要知道Dubbo
不同于传统的web
项目需要运行在类似于tomcat
、jboss
等WEB
容器中,Dubbo
的运行机制我们可以参考下面Dubbo
的组件来进行探究。
Dubbo 核心组件
-
Provider
: 暴露服务的提供方,可以通过jar或者容器的方式启动服务 -
Consumer
:调用远程服务的服务消费方。 -
Registry
: 服务注册中心和发现中心。 -
Monitor
: 统计服务和调用次数,调用时间监控中心。 -
Container
:服务运行的容器。
Dubbo的Container
模块,是一个独立的容器,它就可以为dubbo
提供服务发现机制。并且这个Container
容器默认是采用dubbo
协议在20880端口号暴露服务,所以我们要通过这个接口来调用dubbo
接口。
使用invoke调用dubbo接口服务
使用telnet命令进入控制台
命令:telnet ip
端口
查看可用的dubbo接口
-
ls
: 显示服务列表。 -
ls -l
:显示服务详细信息列表。 -
ls XxxService
:显示服务的方法列表。 -
ls -l XxxService
: 显示服务的方法详细信息列表。
使用invoke命令注入
如果注入的是json
,可参考以下格式进行dubbo
服务调用
如果注入的是对象,可参考以下格式进行dubbo
服务调用:
快速生成Invoke命令
使用一个Demo
可以帮助大家生成对应的invoke
命令