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包:


第三步:写生产者实现



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐