Dubbo是一款高性能、轻量级的开源Java RPC框架,它使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。那dubbo怎么调用接口?下面来我们就来给大家讲解一下。
可以使用telnet命令 telnet 127.0.0.1 26399
例如:调用DownOssFileService dubbo接口的downOssFile方法
步骤:
1、查询dubbo接口的端口
从服务器上使用netstat命令查看,或是查看项目配置文件中配置的dubbo端口
2、使用telnet连接dubbo端口
3、执行命令
可用的命令如下:
常用命令:ls、ps、invoke
1、先使用ls查询dubbo接口提供的服务
2、查询接口的方法名 ls xxx.DownOssFileService
可以看到返回值为ModelsReturn类,方法名为downOssFile,参数为MsgFromCenterPlat类
3、使用invoke命令调用dubbo接口
invoke xxx.DownOssFileService.downOssFile({"messageId":"xxx","messageRequest":{"data":{"businessDate":"xxx","transType":"1","ossFileDownloadUrl":"xxx.zip"},"dataFrom":"xx","dataReceive":"xxx","dataSubType":"xx","dataType":"xx","formatVersion":"xxx"}})
直接调用会报错:找不到 downOssFile方法。
所以需要在参数体中增加"class":"xxx.xxx.MsgFromCenterPlat"
调用成功!
Dubbo与SpringCloud有区别吗?
初始定位不同:SpringCloud定位为微服务架构下的一站式解决方案;Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用和治理
生态环境不同:SpringCloud依托于Spring平台,具备更加完善的生态体系;而Dubbo一开始只是做RPC远程调用,生态相对匮乏,现在逐渐丰富起来。
调用方式:SpringCloud是采用Http协议做远程调用,接口一般是Rest风格,比较灵活;Dubbo是采用Dubbo协议,接口一般是Java的Service接口,格式固定。但调用时采用Netty的NIO方式,性能较好。
组件差异比较多,例如SpringCloud注册中心一般用Eureka,而Dubbo用的是Zookeeper
虽然这两者都是现在主流的微服务框架,但却存在不少差异,开发人员需要弄清楚它们之间的区别,然后有针对性的使用才行!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。
推荐阅读: