Dubbo -- 关于 api接口调用不使用强依赖

 

 

首先,我们都知道  Dubbo 调用api 需要提供暴露  接口,   消费端才通过 ZK 可以调用

通常我们都会使用 提供 api  jar包 的方式 使用  这样既方便又快捷 简单

只需要在spring中配置就ok了.

 

可与此同时,也会有一个问题存在.

那就是  api jar 强依赖,  也就是说   一旦有新的api 需要添加的时候   就需要更新jar包

 

那么如何避免这样的问题.

基于使用的gateway 的思想  阐述一下:

其实很简单.   那就服务提供者还是一样的暴露接口. 这个不变.

但  服务端需要提供一个入口, 也就是我们说的controller      参数请求 分别为    group   api   method    

这里使用 @PathVariable  传递     这样服务端其实就已经知道我们需要调用的接口api 及 method

然后  再通过  Dubbo 提供的  (ReferenceBean)  创建消费   并将我们传递的参数设置给 ReferenceBean   最后调用   genericService.$invoke(method, types, args)  执行请求

这个就相当于我们消费端 在  spring    application中配置的消费端一样 

消费端  使用HttpClient   也就是http请求 请求服务端    这样就可以避免Duboo api jar包强依赖的问题了!

 

同样存在问题   http请求 相对dubbo请求 效率一定不如dubbo;

posted on 2018-04-20 11:07  还有梦  阅读(5020)  评论(1编辑  收藏  举报

导航