Dubbo入门Demo

       这里主要采用Dubbo与Zookeeper、SpringBoot框架整合。

步骤:

1.   安装Zookeeper

2.   创建Maven项目,服务提供者和服务消费者,并与ZK、Dubbo整合

3.   部署Dubbo-admin、Dubbo-Monitor实现管理和监控

一、  Zookeeper安装

    Zookeeper是一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据,这里能很好的作为Dubbo服务的注册中心。

Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。

具体安装方法,请参考博文:

http://www.baidu.com

安装完成后,并启动Zookeeper。

 

二、  创建Maven项目

项目模块:

dubbo-consumer:服务消费者,对外提供服务,内部调用服务提供者

dubbo-provider:服务提供者,对服务消费者提供服务

 

1.     创建dubbo-consumer(服务消费者)项目

         首先在pom.xml文件中添加dubbo依赖配置:

                   <dependency>

                            <groupId>io.dubbo.springboot</groupId>

                            <artifactId>spring-boot-starter-dubbo</artifactId>

                            <version>${dubbo-spring-boot}</version>

                   </dependency>

在application.properties配置dubbo相关配置

## tomcat端口号配置 

server.port=8082

## 项目访问路径配置 

server.context-path=/consumer

## Dubbo 应用名称 

spring.dubbo.application.name=consumer

##Dubbo 注册中心地址 

spring.dubbo.registry.address=zookeeper://127.0.0.1:2182

## Dubbo 服务类包目录(service所在包的地址,这个千万不要配置错误) 

spring.dubbo.scan=com.springboot.service

 

接口实现类:

@Component

public class UserServiceImpl implements UserService {

 

   @Reference(version= "1.0.0")

   UserServiceuserService;// 调用远程接口的实现类

  

   /**

    * 通过Dubbo实现远程RPC调用接口信息

    */

   @Override

   public UserInfoqueryUserName() {

       UserInfouserInfo=userService.queryUserName();

       returnuserInfo;

   }

}

控制类:

@RestController

public class UserContorller {

 

   @Autowired

   privateUserService userSerice;

  

   @RequestMapping("/user")

   public Stringtest(){

       UserInfouserInfo=userSerice.queryUserName();

       return "返回的结果1="+userInfo.getUserName();

   }

}

 

2.     创建dubbo-provider(服务提供者)项目

 

         首先在pom.xml文件中添加dubbo依赖配置:

                   <dependency>

                            <groupId>io.dubbo.springboot</groupId>

                            <artifactId>spring-boot-starter-dubbo</artifactId>

                            <version>${dubbo-spring-boot}</version>

                   </dependency>

在application.properties配置dubbo相关配置

## tomcat端口号配置 

server.port=8081

## 项目访问路径配置 

server.context-path=/provider

## Dubbo 应用名称 

spring.dubbo.application.name=provider

##Dubbo 注册中心地址 

spring.dubbo.registry.address=zookeeper://127.0.0.1:2182

##Dubbo 协议名称 

spring.dubbo.protocol.name=dubbo

##Dubbo 协议端口 

#spring.dubbo.protocol.port=20880

spring.dubbo.protocol.port=2888

## Dubbo 服务类包目录(service所在包的地址,这个千万不要配置错误) 

spring.dubbo.scan=com.springboot.service

 

接口实现类:

/**

 * RPC接口的实现类

 * @authorlinzhiqiang

 */ 

//注册为 Dubbo 服务

@Service(version  ="1.0.0")

public class UserServiceImpl implements UserService {

 

   @Override

   public UserInfoqueryUserName() {

       UserInfouserInfo=new UserInfo();

       userInfo.setUserName("张三");

       returnuserInfo;

   }

}

 

 

3.     启动项目

分别启动服务提供者跟服务消费者项目

 

4.     访问项目

通过浏览器访问:http://localhost:8082/consumer/user

 

三、  Dubbo-admin部署

         dubbo-admin是dubbo的管理平台,通过dubbo-admin可以实时查看服务提供者和服务消费者,也可以进行管理。

 

1.     github下载源代码并打包

地址:https://github.com/apache/incubator-dubbo-ops

解压:incubator-dubbo-ops-master.zip

在\incubator-dubbo-ops-master\目录下,执行maven命令进行打包:

mvn clean package-Dmaven.test.skip=true

在dubbo-admin\target目录下,得到dubbo-admin-2.0.0.war

 

2.     修改配置文件

配置Zookeeper连接地址:

 

修改war读取配置文件的路径:

第一个路径是读取war包里面的dubbo.properties配置文件

第二个路径是读取war包外面的配置文件

保留第一个。

 

3.     启动管理平台

将dubbo-admin-2.0.0.war放入tomcat的webapps目录下,并启动tomcat。

在浏览器的访问地址:http://localhost:8080/dubbo-admin-2.0.0/

默认登录帐号密码:root/root

 

 

四、  Dubbo-monitor部署

         dubbo监控平台,主要负责统计服务调用次数及时间

1.     github下载源代码并打包

地址:https://github.com/apache/incubator-dubbo-ops

解压:incubator-dubbo-ops-master.zip

在\incubator-dubbo-ops-master\目录下,执行maven命令进行打包:

mvn clean package-Dmaven.test.skip=true

在dubbo-monitor-simple\target目录下,得到dubbo-monitor-simple-2.0.0-assembly.tar.gz

解压dubbo-monitor-simple-2.0.0-assembly.tar.gz

2.     修改配置文件

找到monitor Jar包,以压缩文件的方式打开

\dubbo-monitor-simple-2.0.0-assembly\dubbo-monitor-simple-2.0.0\lib\dubbo-monitor-simple-2.0.0.jar

 

修改读取dubbo.properties文件路径:

第一个路径是读取程序外面的配置文件

第二个路径是读取程序里面的dubbo.properties配置文件

保留第二个。

 

配置Zookeeper连接地址:

 

 

3.     启动管理平台

\dubbo-monitor-simple-2.0.0\assembly.bin\

启动:

./start.sh

停止:

./stop.sh

重启:

./restart.sh

调试:

./start.sh debug

系统状态:

./dump.sh

 

访问地址:http://localhost:8080/index.html

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐