springboot整合dubbo,并在云服务器设置dubbo控制台

时间:2019-06-12
本文章向大家介绍springboot整合dubbo,并在云服务器设置dubbo控制台,主要包括springboot整合dubbo,并在云服务器设置dubbo控制台使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

第一步:安装dubbo控制台

  安装控制台前,首先需安装tomcat,maven,zookeeper,这里不再赘述

  1.dubbo从2.6.1开始,没有专门的一个admin模块,所以我们可以找到2.5.10版本,进行下载到本地,网址:https://github.com/apache/dubbo/tree/dubbo-2.5.10

  2.下载完成后,可以用FileZilla上传到云服务器,或者用命令 scp /文件路径(MAC可以直接拖动文件到控制台,会自动生成路径) root@服务器地址:/home/software(服务器存放的路径),

   如: scp /Users/mac/Desktop/dubbo-dubbo-2.5.10.zip root@123.123.123.123:/home/software

   输入云服务器密码后,会自动上传

  3.在云服务器中,找到该文件的路径,用unzip 文件名,来 解压该文件,如果没有解压命令,需要安装一下,yum install unzip 

  4.解压后,进入到dubbo-admin文件夹,利用命令 mvn package -Dmaven.test.skip=true 来打包项目

  5.打包好后,在target文件夹中,找到dubbo-admin-2.5.10.war,把这个war包copy到tomcat的目录webapps下的ROOT下面(可以删除tomcat webapps目录下ROOT其他原有内容),然后使           用jar xvf dubbo-admin-2.6.0.war解压war包,把解压后的内容全部放到ROOT目录下

  6.启动Tomcat,在本地输入网址,默认用户名和密码都是root,输入用户名和密码,就能看到如图控制台

  

  7.此时,最后一栏服务名称,应用数量,提供者数量,和消费者数量都为0

第二步:创建springboot结合dubbo项目

1)接口模块

  1.创建一个名为dubbo的springboot工程,删除自动生成的src文件

  2.在该工程下,新增一个名为user-api的Module,在该模块下创建一个名为UserService的接口,并增加一个获取用户名字的方法,如图:

  

2)实现模块

  1.新增一个名为user-service的模块,pom中引入如下jar包,

  <properties>
  <dubbo-spring-boot>1.0.0</dubbo-spring-boot>
  </properties>

  <!-- Spring Boot Dubbo 依赖 -->
  <dependency>
  <groupId>io.dubbo.springboot</groupId>
  <artifactId>spring-boot-starter-dubbo</artifactId>
  <version>${dubbo-spring-boot}</version>
  </dependency>
  <!-- 导入api也是为了演示 -->
      <dependency>
   <groupId>com.dubbo.user-api</groupId>
  <artifactId>user-api</artifactId>
  <version>0.0.1-SNAPSHOT</version>
   </dependency>

  2.创建一个名为UserSeviceImpl的实现类,实现了上述的接口(注意,在这里只是演示dubbo的注册与发现,在同一个工程中这样实现毫无意义),并填上注解@Service(不要导错了,是这个:import com.alibaba.dubbo.config.annotation.Service;),注明version,如下

  3.在application.properties中添加如下信息

server.port=8080
####dubbo,scan注明的是该实现类的包名
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://123.123.123.123:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.dubbo.userservice.serviceImpl

确认已经启动云服务器的zookeeper后,启动本地的服务,打开网页,会发现,已经有提供者注册了,但是没有消费者
3)应用模块

  1.新增一个名为user-web的模块,pom中引入如下jar包,

  <properties>
  <dubbo-spring-boot>1.0.0</dubbo-spring-boot>
  </properties>

  <!-- Spring Boot Dubbo 依赖 -->
  <dependency>
  <groupId>io.dubbo.springboot</groupId>
  <artifactId>spring-boot-starter-dubbo</artifactId>
  <version>${dubbo-spring-boot}</version>
  </dependency>
  <!-- 导入api也是为了演示 -->
      <dependency>
   <groupId>com.dubbo.user-api</groupId>
  <artifactId>user-api</artifactId>
  <version>0.0.1-SNAPSHOT</version>
   </dependency>
2.创建一个名为UserController的web层,引入UserService这个类的时候,要用@Reference(不要导错了,是这个
import com.alibaba.dubbo.config.annotation.Reference;
),并注明类的版本,跟上面实现类的版本是一致的,如图

  3.在application.properties中添加如下信息

  server.port=8081
  ## Dubbo 服务消费者配置,注意端口8081与服务不一致,不然本地无法启动;同样,scan指消费者的包名
  spring.dubbo.application.name=consumer
  spring.dubbo.registry.address=zookeeper://123.56.21.99:2181
  spring.dubbo.scan=com.dubbo.userweb

  4.启动这个应用,浏览器输入网址,能看到消费者了,大功告成!!!yeah!

  

  PS:如遇到Log4j,Logger之类的报错,需要引入一个jar包即可,   

  <dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
   <version>1.2.17</version>
  </dependency>

           

  

原文地址:https://www.cnblogs.com/dolci/p/11009655.html