天天看点

Dubbo入门-Dubbo Demo演示

关于本文

本文是一个dubbo的入门demo,目的在于快速入门

dubbo是什么

一款分布式服务框架

高性能和透明化的rpc远程服务调用方案

soa服务治理方案

dubbo入门demo

了解了dubbo以后,自然要搭建一个简单的demo实现。

由于dubbo需要一个注册中心,本文采用的是zookeeper.

主要是以下几个步骤:

安装zookeeper,启动;

创建maven项目,构建dubbo+zookeeper+spring实现的简单demo;

安装dubbo-admin,实现监控。

本文不是讲zookeeper的,所以关于zookeeper的安装请移步这篇教程。

Dubbo入门-Dubbo Demo演示

创建好的maven项目如图所示,其中provider和consumer都依赖api.前者是服务提供者,后者是服务消费者。

下面将详细叙述代码构建过程。

首先构建maven项目,导入所需要的jar包依赖。 需要导入的有spring, dubbo, zookeeper等jar包。 其中dubbodemo的pom.xml如下

创建dubbo-api的maven项目(有独立的pom.xml,用来打包供提供者消费者使用)。 在项目中定义服务接口:该接口需单独打包,在服务提供方和消费方共享。

Dubbo入门-Dubbo Demo演示

demoservice

创建dubbo-provider的maven项目(有独立的pom.xml,用来打包供消费者使用)。 实现公共接口,此实现对消费者隐藏:

Dubbo入门-Dubbo Demo演示

pom.xml

demoserviceimpl

provider

provider.xml

log4j.xml

创建dubbo-consumer的maven项目(可以有多个consumer,但是需要配置好)。 调用所需要的远程服务:

Dubbo入门-Dubbo Demo演示

consumer

consumer.xml

运行项目,先确保provider已被运行后再启动consumer模块

dubbo管理控制台介绍

下载dubbo-admin,可自行根据网上介绍安装。大致做法就是将dubbo-admin中 的某个文件夹内容替换到tomcat的conf中,再运行tomcat即可。但我在实际操作中发现jdk8无法运行,后来找到一个jdk8可以实现的dubbo-admin版本,下载地址:http://www.itmayun.com/it/files/226631678709806/resource/901920001882583/1.html。

成功开启输入用户名密码root后,即可进入控制台首页查看消费者提供者情况: 可能会出现看不到服务的情况,如果出现请看这篇教程

Dubbo入门-Dubbo Demo演示
Dubbo入门-Dubbo Demo演示

整个项目的代码已经上传到我的github上,地址

dubbo深入

dubbo 支持的9种协议

dubbo负载均衡策略及对应源码分析

dubbo使用之容错机制