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如下:
<?xml version="1.0" encoding="UTF-8"?> <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包: