ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Dubbo进阶(二) —— 搭建Dubbo开发环境

Dubbo进阶(二) —— 搭建Dubbo开发环境 本文是基于maven进行开发在开发Dubbo应用之前先安装maven。dubbo是一个分布式服务框架提供一个SOA的解决方案。简单的说dubbo就像在生产者和消费者中间架起了一座桥梁使之能透明交互。本文旨在搭建一个可供使用和测试的dubbo环境使用了spring框架应用zookeeper和dubbo服务。准备zookeeper点击下载。dubbo-monitor点击下载dubbo-monitor下载后解压并放到tomcat的webapps目录下修改WEB-INF/dubbo.properties中属性如下#zookeeper的地址和端口 dubbo.registry.addresszookeeper://127.0.0.1:2181#登录dubbo管理页面时的root用户和guest用户的密码 dubbo.admin.root.passwordroot dubbo.admin.guest.passwordguest代码如果你清楚生产者-消费者模型那么将会很容易理解dubbo的使用步骤。一个生产者-消费者模型的代码实现需要3部分生产者代码消费者代码中间接口。1. 中间接口创建一个maven项目然后添加一个接口如下PublicinterfaceITest{publicvoidsayHello(Stringmessage);}2. 生产者代码创建一个mavan项目并引入spring依赖、中间接口依赖、zookeeper依赖及dubbo依赖如下dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion4.1.6.RELEASE/version/dependency!--中间接口根据你的情况进行修改--dependencygroupIdcom.dubbo.demo/groupIdartifactIdDubboIServiceDemo/artifactIdversion0.0.1/version/dependencydependencygroupIdorg.apache.zookeeper/groupIdartifactIdzookeeper/artifactIdversion3.4.6/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddubbo/artifactIdversion2.5.3/version/dependency!--连接zookeeper的客户端--dependencygroupIdcom.github.sgroschupf/groupIdartifactIdzkclient/artifactIdversion0.1/version/dependency编写中间接口的实现代码如下注意这里通过注解的方式将此类标记为spring服务Service(springservice)publicclassTestimplementsITest{OverridepublicvoidsayHello(Stringmessage){System.out.println(service say:message);}}编写spring配置文件注意需要引入dubbo的schema?xml version1.0encodingUTF-8?beansxmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:jeehttp://www.springframework.org/schema/jeexmlns:txhttp://www.springframework.org/schema/txxmlns:dubbohttp://code.alibabatech.com/schema/dubboxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsddefault-lazy-initfalsebean idspringserviceclasscom.dubbo.iservice.impl.Test/bean!--提供方应用名称信息这个相当于起一个名字我们dubbo管理页面比较清晰是哪个应用暴露出来的--dubbo:applicationnamedubbo_provider/dubbo:application!--使用zookeeper注册中心暴露服务地址--dubbo:registry addresszookeeper://127.0.0.1:2181checkfalsesubscribefalse register/dubbo:registry!--要暴露的服务接口--dubbo:serviceinterfacecom.dubbo.iservice.ITestrefspringservice//beans编写测试类publicclassDemo{publicstaticvoidmain(String[]args){//这里注意spring配置文件的名字和路径ApplicationContextapplicationContextnewClassPathXmlApplicationContext(newString[]{classpath*:config/applicationContext-commons.xml});while(true);}}3. 消费者代码创建一个maven项目并引入spring依赖、中间接口依赖、zookeeper依赖及dubbo依赖这里和生产者是完全相同的。编写spring配置文件注意需要引入dubbo的schema?xml version1.0encodingUTF-8?beansxmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:jeehttp://www.springframework.org/schema/jeexmlns:txhttp://www.springframework.org/schema/txxmlns:dubbohttp://code.alibabatech.com/schema/dubboxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsddefault-lazy-initfalsedubbo:applicationnamedubbo_consumer/dubbo:application!--使用zookeeper注册中心暴露服务地址--dubbo:registryaddresszookeeper://127.0.0.1:2181checkfalse/dubbo:registry!--要引用的服务--dubbo:referenceinterfacecom.dubbo.iservice.ITestidspringservice/dubbo:reference/beans编写测试类publicclassClientDemo{publicstaticvoidmain(String[]args){//这里注意spring配置文件的名字和路径ApplicationContextapplicationContextnewClassPathXmlApplicationContext(newString[]{classpath*:config/applicationContext-commons.xml});ITesttest(ITest)applicationContext.getBean(springservice);test.sayHello(abcdefg);while(true);}}开始测试启动zookeeper。执行zookeeper目录下bin/zkServer.cmd启动服务;启动dubbo服务。启动dubbo所在tomcat详见本文开头dubbo启动后可通过http://127.0.0.1:8080/dubbo-admin来查看dubbo服务状态;启动生产者服务。运行生产者测试类Client.Java;启动消费者服务。运行消费者服务代码ClientDemo.java此时可以在生产者的控制台看到服务被调用了。此时整个dubbo测试已经完成。同时我们可以在dubbo的web端看到生产者、消费者的状态以及各个服务的调用情况。附为了方便大家本测试用例以及需要的工具都可以在这里下载zookeeper下载点击下载Dubbo-admin下载地址:点我下载dubbo-monitor下载配置文件已修改可直接解压后放到tomcat中使用点击下载
返回列表