dubbo的提供者和消费者的接口既然是一样的,那是要在提供者和消费者两边都写一遍接口吗?

dubbo的提供者和消费者的接口既然是一样的,那是要在提供者和消费者两边都写一遍接口吗?

还是把接口打成jar,在提供者和消费者都引入jar文件,如果是这样,那如果接口变了,岂不是要重新更换jar文件了

吗?

RPC框架是不是都要这样啊?

阅读 9.7k
4 个回答

两边定义同样的接口jar包,上传到公司到nexus私服上。然后,在两边的项目中,都有maven引用同一个jar包,就可以了啊。以后如果有变动,同时升级jar包。

dubbo的提供者和消费者的接口既然是一样的

你可以把代码贴出来,具体是指哪部分一样。

如果是这样,那如果接口变了,岂不是要重新更换jar文件了

对的

RPC框架是不是都要这样啊?

不是,也有基于http2的rpc框架比如grpc

把接口单独打包啊,两边引用

不是所有的框架都是这样,像 hprose,服务器端和客户端都不需要定义接口,也可以只在一方定义接口,两方即使都定义接口,也可以定义成不同的,只要传输的参数和结果类型是兼容的(不需要完全相同,比如 int[] 和 List<Integer> 就是相容的)就可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题