Dubbo与Zookeeper、SpringMVC整合与使用(干货-理论放一遍。。。还未完结!)
Dubbo跟Zookeeper的简介分享两个不错的链接:
Dubbo简介:http://shiyanjun.cn/archives/325.html
Zookeeper简介:http://www.open-open.com/lib/view/open1415453633887.html
说两句楼主自己的看法,我觉得身为一个java开发,原来自然是了解的好,但是我觉得先看简介不如从代码入手,然后去慢慢根据Demo,再结合简介去理解这个流行框架的作用,好的那下面我们就整点干的,或许我的配置还不是最简化的,希望有大神指点,同时也希望我的这篇博客可以帮你很好的理解Dubbo以及Zookeeper。
环境
首先我们说一下环境问题,安装Vm虚拟机,装64 Linux系统,系统装完需要安装JDK,这个准备环境,可以自行百度下载最新的VM+Linux镜像文件+JDK(切记JDK要下Linux版本的),Linux下权限很严谨,所以建议使用终端的时候切到root用户(具体命令自行百度,都是答案)。
第一步:在linux上安装Zookeeper
(1)下载Zookeeper-3.4.6.tar.gz 地址http://www.apache.org/dist/zookeeper/
(2)我们放到linux下的一个文件夹(创建文件夹命令:mkdir),然后解压。Linux解压命令:tar zxvf zookeeper-3.4.6.tar.gz
(3)然后在对应的zookeeper-3.4.6/conf 下有一个文件zoo_sample.cfg的这个文件里面配置了监听客户端连接的端口等一些信息,Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件,如图所示:
(4)我们查看一下这个文件的里面的一些配置信息,如图所示:
(5)参数说明:
clientPort:监听客户端连接的端口。
tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
(6)启动Zookeeper的服务,如图所示:
(7)查看Zookeeper是否启动成功命令: ps -ef|grep zookeeper
第二步:在生产者提供服务
(1)首先需要提供一个jar包分别到生产者与消费者中,jar中包含的只是接口没有任何的实现。如下图:
pom.xml文件:
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
<modelVersion>4.0.0</modelVersion>
-
<groupId>com.test.yang</groupId>
-
<artifactId>demo-dubbo-api</artifactId>
-
<packaging>jar</packaging>
-
<version>0.0.1-SNAPSHOT</version>
-
<name>demo-dubbo-api Maven Webapp</name>
-
<url>http://maven.apache.org</url>
-
-
<properties>
-
<servlet.api.version>2.5</servlet.api.version>
-
</properties>
-
-
<dependencies>
-
<!-- sevlet api -->
-
<dependency>
-
<groupId>javax.servlet</groupId>
-
<artifactId>servlet-api</artifactId>
-
<version>${servlet.api.version}</version>
-
<scope>provided</scope>
-
</dependency>
-
-
<dependency>
-
<groupId>javax.mail</groupId>
-
<artifactId>mail</artifactId>
-
<version>1.4.7</version>
-
</dependency>
-
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>3.8.1</version>
-
<scope>test</scope>
-
</dependency>
-
</dependencies>
-
<build>
-
<finalName>demo-dubbo-api</finalName>
-
</build>
-
</project>
web.xml如下:
-
-
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-
id="WebApp_ID" version="2.5">
-
-
<display-name>Archetype Created Web Application</display-name>
-
</web-app>
-
接口TestRegistryService内容:
-
package com.test.dubbo.registry.service;
-
-
public interface TestRegistryService {
-
-
public String hello(String name);
-
}
这里样就够了楼主用的是maven 通过maven install 把这个项目打成jar包: