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文件:

  1.  
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2.  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3.  
    <modelVersion>4.0.0</modelVersion>
  4.  
    <groupId>com.test.yang</groupId>
  5.  
    <artifactId>demo-dubbo-api</artifactId>
  6.  
    <packaging>jar</packaging>
  7.  
    <version>0.0.1-SNAPSHOT</version>
  8.  
    <name>demo-dubbo-api Maven Webapp</name>
  9.  
    <url>http://maven.apache.org</url>
  10.  
     
  11.  
    <properties>
  12.  
    <servlet.api.version>2.5</servlet.api.version>
  13.  
    </properties>
  14.  
     
  15.  
    <dependencies>
  16.  
    <!-- sevlet api -->
  17.  
    <dependency>
  18.  
    <groupId>javax.servlet</groupId>
  19.  
    <artifactId>servlet-api</artifactId>
  20.  
    <version>${servlet.api.version}</version>
  21.  
    <scope>provided</scope>
  22.  
    </dependency>
  23.  
     
  24.  
    <dependency>
  25.  
    <groupId>javax.mail</groupId>
  26.  
    <artifactId>mail</artifactId>
  27.  
    <version>1.4.7</version>
  28.  
    </dependency>
  29.  
     
  30.  
    <dependency>
  31.  
    <groupId>junit</groupId>
  32.  
    <artifactId>junit</artifactId>
  33.  
    <version>3.8.1</version>
  34.  
    <scope>test</scope>
  35.  
    </dependency>
  36.  
    </dependencies>
  37.  
    <build>
  38.  
    <finalName>demo-dubbo-api</finalName>
  39.  
    </build>
  40.  
    </project>

web.xml如下:

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.  
        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4.  
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5.  
        id="WebApp_ID" version="2.5">
  6.  
        
  7.  
      <display-name>Archetype Created Web Application</display-name>
  8.  
    </web-app>
  9.  
     

接口TestRegistryService内容:

  1.  
    package com.test.dubbo.registry.service;
  2.  
     
  3.  
    public interface TestRegistryService {
  4.  
     
  5.  
    public String hello(String name);
  6.  
    }

这里样就够了楼主用的是maven 通过maven install 把这个项目打成jar包:

第三步:写生产者实现

原文地址:https://www.cnblogs.com/zhoading/p/9615664.html