Dubbo与Zookeeper、SpringMVC整合与使用(干货-理论放一遍。。。还未完结!)

来源:互联网 发布:运营商用户数据 编辑:程序博客网 时间:2024/06/06 03:38

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


第三步:写生产者实现



0 0
原创粉丝点击