Dubbo实现远程调用接口

1. Dubbo框架的简单格式如下如所示:

Dubbo实现远程调用接口
1)提供了一个api包,用于标出provider提供的所有接口名称;
2)提供一个provider(生产者)包,用于实现所有的接口,并可以注册到zookeeper上,统一管理;
3)提供一个consumer(消费者)包,用于调用接口,为了便于管理,消费者开启时,也需要注册上zookeeper上,具体注册方式如下:

2. 注册到zookeeper上的配置

1)生产者:主要包括接口实现类、启动方法类、配置文件。
下面是包结构:
Dubbo实现远程调用接口
配置文件中主要包括dubbo的注册中心、端口号、以及定义实现的接口描述。
Dubbo实现远程调用接口
启动类中,需要读取配置文件信息,然后启动:
Dubbo实现远程调用接口
2)消费者:主要包括启动类、配置文件。
包结构如下:
Dubbo实现远程调用接口
配置文件内容除了跟生产者一样的以外,若是调用远程接口,可以通过dubbo:reference进行引入,前提是被应用的接口类已被引入(具体操作后面再论);
Dubbo实现远程调用接口
启动类中可通过getBean方式,注入接口类,然后调用其方法:
Dubbo实现远程调用接口
先启动生产者,然后启动消费者,消费者输出如下:
Dubbo实现远程调用接口
可以看到前两条是应用的本地接口实现方法,后一条则是调用的远程接口实现。

3、module制成jar包导入导库

1)若module中有依赖其他module,则需要先安装其他module,命令为mvn install package,或者将所有的都打成jar包,命令为mvn clean package;
2)定位到对应module的target下,可以看到打好的jar包,然后如下命令,将jar打成maven本地仓库jar。自定义groupId,artifactId和version,在pom文件中引用时,要保持一致。
mvn install:install-file -Dfile=E:\idea_workplace\demo\dubbo\incubator-dubbo-dubbo-2.6.0\dubbo-demo\dubbo-demo-provider\target\dubbo-demo-provider-2.6.0.jar -DgroupId=com.hikvision.energy -DartifactId=dubbo-demo-provider-Dversion=1.0-SNAPSHOT -Dpackaging=jar。