一、在配置Dubbo之前需要在服务器上部署Zookeeper注册器。
配置Zookeeper可以参考网址:https://blog.csdn.net/qq_33556350/article/details/86377445
二、配置服务提供者
pom.xml添加依赖
<!-- dubbo相关 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
spring-service.xml配置
<!-- 配置扫描文件 -->
<context:component-scan base-package="cn.e3mall.service"/>
<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="e3-manager" />
<dubbo:registry protocol="zookeeper" address="zookeeper的ip和端口号" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="8081" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="cn.e3mall.service.TbItemService" ref="tbItemServiceImpl" timeout="600000" />
三、配置消费者
pom.xml依赖
<!-- dubbo相关 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
spring-web.xml配置
<!-- 引用dubbo服务 -->
<dubbo:application name="e3-manager-web" />
<dubbo:registry protocol="zookeeper" address="zookeeper所在的ip和端口号" />
<dubbo:protocol port="8081" />
<dubbo:reference interface="cn.e3mall.service.TbItemService"
id="tbItemServiceImpl" />
四、注意
由于service和web都是两个服务所以在配置的时候两个服务都是要打包成war包,并且都需要添加spring和tomcat依赖,并且需要配置不同的端口号。