Dubbo |ˈDʌBəʊ|是一个高性能的基于RPC的java开源框架由阿里巴巴 (摘录自dubbo.io官方网站)
下面我们来整合下Maven+Spring+dubbo。提供一个服务者服务
1、使用zookeeper注册中心暴露服务地址,需要下载zookeeper-3.4.6,并安装配置zookeeper.
共享链接:链接:https://pan.baidu.com/s/1geYmFrP 密码:19lz
1、先将zookeeper解压
2、进入zookeeper-3.4.6\conf
3、将zoo_sample.cfg 重命名为 zoo.cfg
4、打开并编辑dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp
5. 与Java中的做法类似,我们在系统环境变量中添加:
a. 在系统变量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6
b. 编辑path系统变量,添加为路径%ZOOKEEPER_HOME%\bin;
6. 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)
7、打开cmd 输入zkServer 启动Zookeeper
3、编写服务类并配置spring.xml
4、启动服务
5、我们添加一个dubbo服务的监控的war包,把它放到tomcat下,下载地址:链接:https://pan.baidu.com/s/1eREBYts 密码:bri7
下载dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然后进行解压:
#jar -xvf dubbo-admin-2.4.1.war
(2)然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注册中心,内容为:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
(3)然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功,如图所示:
我们可以看到我们发布的服务:
到此为止我们的服务已经发布出去了,下一步我们将实现服务接口的调用
在上面我们创建了服务,我们还需要提供一个jar包,里面包含我们的接口。单纯的一个java小项目然后导出成一个jar包就可以,如图:
导出的jar包放到我们的customer项目中。然后加入到build path中。
customer项目中的pom.xml和上面一样,只是spring.xml内容不一样了,如图
这里我们订阅了zookeeper注册中心的这个服务,调用:
package com.zpl.customer.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.zpl.dubbo.IDubboProviderService;
@Controller
public class DubboCustomerController {
@Autowired
private IDubboProviderService demoService;
@RequestMapping("hello")
public void say(String str){
String s=demoService.sayHello("你好啊");
System.out.println(s);
}
}
启动服务后我们可以看到打印出来: Hello 你好啊。
有一点忘记说了。
在spring.xml中引用dubbo标签的时候报错,原因是我们没有将dubbo的xsd文件引进来,我们需要在maven本地仓库中找到阿里的dubbo.jar包。解压后找到dubbo.xsd
这个文件,然后配置到eclipse的xml设置中,如:
这样以后clean下项目 然后maven update下就可以了。
dubbo的使用这里只是简单的应用,后期如果用到复杂的遇到问题我们在说。。。
有必要说下zookeeper:
稍后补充: