扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容主要讲解“dubbo怎么快速入门”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“dubbo怎么快速入门”吧!
在凌海等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都做网站 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站制作,成都营销网站建设,外贸营销网站建设,凌海网站建设费用合理。
一、dubbo基本原理
dubbo架构图如下:
调用关系说明:
0.服务容器负责启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
该demo包含三个项目,分别是:
服务提供端项目:provider
服务消费端项目:consumer
共用服务接口项目:api
依赖关系如图:
api项目是一个jar项目,将生成的jar打包到maven仓库,作为provider和consumer项目的依赖导入。
三、dubbo-远程调用(RPC)具体实现
1、zookeeper下载及配置
在启动服务提供者项目之前要先启动zookeeper,因为我们需要把服务提供方注册到zookeeper中,然后才能被服务消费方发现并调用。
关于zookeeper这里不做详细介绍了,简单概括就是分布式服务治理框架,用于服务注册与发现,实现远程调用功能等。
zookeeper下载
http://zookeeper.apache.org/
解压并修改配置
zookeeper下载完成后解压到合适目录,然后进入到zookeeper的conf目录,找到zoo_sample.cfg文件将其重命名为zoo.cfg,然后打开该文件, 将其中的dataDir和dataLogDir修改如下:
dataDir=E:\\Soft\\zookeeper-3.4.6\\data
dataLogDir=E:\\Soft\\zookeeper-3.4.6\\log
修改为你本地硬盘的目录
启动zookeeper
进入到zookeeper的bin目录下,双击zkServer.cmd,启动zookeeper
2.dubbo接口服务api项目
新建maven项目api,注意将其pom.xml中的打包方式改为jar
然后在com.dubbo.api.service包下新建DemoService接口,如下:
public interface DemoService {
String sayHello(String name);
}
项目结构如图:
然后将项目打包(install一下即可),在E:\temp\api\target\目录下找到该jar,然后打包到本地maven仓库,打开cmd命令窗口,输入以下令如下:
mvn install:install-file -Dfile=E:\temp\api\target\api.jar -DgroupId=com.dubbo.api -DartifactId=api -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
注意:jar路径该为你自己的路径
3.dubbo服务提供者provider项目
新建maven项目provider,并在pom.xml中添加以下依赖:
这里引入了上面的生成的api接口依赖、dubbo依赖、zookeeper客服端依赖以及启动项目必需的依赖
然后在com.dubbo.provider.service.impl包下新建DemoServiceImp并实现DemoService接口,如下:
public class DemoServiceImpl implements DemoService{
@Override
public String sayHello(String name) {
return "Hello "> }
然后在resources下新建provider.xml文件,配置如下:
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
//注意此处需要在eclipse中引入约束,约束文件在dubbo.2.5.3.jar 解压后的dubbo.xsd文件
然后在java下直接新建Provider用于启动项目:
public class Provider {
public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml");
context.start();
System.out.println("dubbo服务提供端已启动....");
System.in.read(); // 按任意键退出
}
}
provider项目结构如图:
然后直接运行该main函数-dubbo服务提供者已启动!
4.dubbo服务消费者consumer项目
新建maven项目consumer,并在pom.xml中添加以下依赖:
和provider项目添加的依赖一样。
然后在resources下新建comsumer.xml,配置服务消费者,如下:
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
然后在java下新建Consumer.class用于启动该项目,如下:
public class Consumer {
public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "consumer.xml" );
context.start();
System.out.println("dubbo服务消费端已启动...");
DemoService demoService = (DemoService)context.getBean( "demoService" );// 获取远程服务代理
String hello = demoService.sayHello( "world" );//执行远程方法
System.out.println(hello);//显示调用结果
System.in.read(); // 按任意键退出
}
}
启动该项目,显示调用结果,如图:
到这里就已经完成了dubbo的远程调用。下面介绍下dubbo-admin管理控制台
四、dubbo-admin管理控制台
通过dubbo-admin可以更好的管理dubbo服务。
首先下载dubbo-admin的war包,下载地址:
下载完成后,将dubbo-admin-2.6.0.war复制到tomcat的webapps目录下。然后启动tomcat,访问
http://localhost:8080/dubbo-admin-2.6.0/
也可以将dubbo-admin-2.6.0重命名为dubbo-admin访问的时候直接访问http://localhost:8080/dubbo-admin即可
用户名和密码都是root
登录后就可以通过网页进行管理dubbo服务了,如图:
到此,相信大家对“dubbo怎么快速入门”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流