您的位置:首页 > 其它

zookeeper+dubbo分布式项目搭建

2016-11-04 10:13 405 查看
1,将单一的java web项目 拆分成  公共接口API  数据交互层service, 访问层web

2,zookeeper  dubbo 分布式环境:zookeeper  3台,一般是将项目中的不同业务 拆分成多个service ,然后拆分的service 可以放置多台机器,做灾备

3,zookeeper 启动 命令行启动方式: 



直接回车 就启动 了,验证启动结果


zookeeper 启动完成.如果是要启动4台 5台 以至于更多的zookeeper  直接复制其中一份service 然后修改service下的data目录下的myid文件  直接修改里面的数字即可,如果是第四台 那么改为4

4,项目拆分【API】

4.1  将所有的service 层方法抽取成接口,工具类,总之API 放置的都是一些公共的东西, 然后将项目打成Jar包,供 service项目 和web项目使用

5,项目拆分【Service 】

5.1 这一层主要就是 和数据库交互。下面是我的项目结构



5.2  先看下dubbo_service-lqg.properties 文件



5.3 再来看看dubbo.xml 文件



这段不用解释了,就是使用spring 的配置文件加载类 加载文件 然后通过表达式 使用

接着往下



接着使用ant 运行bulid 文件 

--------------------------bulid.xml-------------------

<?xml version="1.0"?>

<!-- ======================================================================= -->

<!-- Service LQGService build file                                      -->

<!-- Add by HeYiTang                                                    -->

<!-- ======================================================================= -->

<project name="LQGService" default="" basedir=".">

<!--不需要修改-->
<property name="src.dir" value="${basedir}\src" />
<!--不需要修改-->

<property name="lib.dir" value="${basedir}\lib" />
<!--不需要修改-->

<property name="build.dir" value="${basedir}\build" />
<!--不需要修改-->

<property name="build.classes.dir" value="${build.dir}\classes" />
<!--不需要修改-->

<property name="conf.dir" value="${basedir}\conf" />
<!--不需要修改-->

<property name="conf.diro" value="${basedir}\conf\mapping" />
<!--不需要修改-->

<property name="bin.dir" value="${basedir}\bin" />

<!--project.dir.name 项目名字,这个要根据实际情况修改-->

<property name="project.dir.name" value="LQGService" />
<!--des.disk.dir 项目打包目录,这个要根据实际情况修改-->
<property name="des.disk.dir" value="D:\\packageDIR\${project.dir.name}" />

<!--不需要修改-->

<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>

<!--不需要修改-->

<target name="clean">
<delete dir="${build.classes.dir}" />
<delete dir="${des.disk.dir}\bin" />
<delete dir="${des.disk.dir}\conf" />
<delete dir="${des.disk.dir}\lib" />
<delete dir="${des.disk.dir}\conf\mapping" />
</target>

<!--不需要修改-->

<target name="prepare" depends="clean">
<mkdir dir="${build.classes.dir}" />

<mkdir dir="${des.disk.dir}\bin" />
<mkdir dir="${des.disk.dir}\conf" />
<mkdir dir="${des.disk.dir}\lib" />

<mkdir dir="${des.disk.dir}\conf\mapping" />
</target>

<!--不需要修改-->

<target name="compile"  description="compile operation" depends="prepare">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" includeAntRuntime="false" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>

<target name="jarLQGService" depends="compile" description="jar LQGService">
<!--复制conf目录下的所有文件到  项目名/ build/classes目录下面-->

   <copy todir="${build.classes.dir}">  
   <fileset dir="${conf.dir}">  
    <include name="*.*" />  
     
   </fileset>  
   </copy>  
<!--打成jar文件且放到 项目名/lib目录目录下面-->

<jar jarfile="${lib.dir}\${project.dir.name}.jar">
<fileset dir="${build.classes.dir}">

<include name="com/wtjr/**/*" />
<include name="log4j.xml" />

<include name="log4j.dtd" />
<include name="dubbo_service_lqg.properties" />
<include name="applicationContext-lqg-service.xml" />
<include name="applicationContext-spring-mvc.xml" />
<include name="applicationContext-spring-mybatis.xml" />
<include name="application.properties" />
<include name="jdbc.properties" />
<include name="mybatis-config.xml" />
</fileset>
<fileset dir="${conf.dir}">

<include name="mapping/*" />
</fileset>
<metainf file="${src.dir}\META-INF\MANIFEST.MF"/>
</jar>
<!--复制 项目名/bin 目录目录下面的所有文件到 打包${des.disk.dir}\bin目录下面-->

   <copy todir="${des.disk.dir}\bin">  
   <fileset dir="${bin.dir}">  
    <include name="*.*" />  
   </fileset>  
   </copy>  
<!--复制 项目名/conf 目录目录下面的所有文件到 打包${des.disk.dir}\conf目录下面-->

   <copy todir="${des.disk.dir}\conf">  
   <fileset dir="${conf.dir}">  
    <include name="*.*" /> 
<!--<exclude name="applicationContext-lqg-client.xml" />
-->    

   </fileset>  
   </copy>  
<!--复制 项目名/conf/mapping 目录目录下面的所有文件到 打包${des.disk.dir}\conf目录下面-->

<copy todir="${des.disk.dir}\conf\mapping">  
   <fileset dir="${conf.diro}">  
    <include name="*.*" /> 
<!--<exclude name="applicationContext-lqg-client.xml" />
-->    

   </fileset>  
</copy>  
<!--复制 项目名/lib 目录目录下面的所有文件到 打包${des.disk.dir}\lib目录下面-->

   <copy todir="${des.disk.dir}\lib">  
   <fileset dir="${lib.dir}">  
    <include name="*.*" />  
   </fileset>  
   </copy>  
</target>

</project>

----------------------------bulid.xml  end---------------------

执行完Bulid.xml 后 会在相应的目录下 看到生成后的项目,直接运行bin 目录下的start.cmd ,linux 系统下 运行.sh 文件

6. 项目拆分【web】

项目结构



applicationContext.XML 文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper dubbo