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 文件
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 文件
相关文章推荐
- Maven多模块+dubbo+zookeeper分布式架构搭建SSM项目
- dubbo+zookeeper 分布式项目搭建
- dubbo+zookeeper 分布式项目搭建
- Dubbo+Zookeeper搭建高可用集群分布式项目springmvc+mybatis+shiro
- 从0开始搭建:分布式服务框架-Maven多模块+Dubbo+Zookeeper++SpringMVC+mybatis自动生成
- Dubbo+zookeeper 最简单的分布式搭建
- 基于maven+dubbo+spring+zookeeper的简单项目搭建
- zookeeper+dubbo分布式环境搭建部署记录
- 分布式项目:Spring+Mybatis+SpringMVC+Dubbox+Storm+Zookeeper
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目(一)
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目(一)
- 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目(二)
- Maven-maven多模块项目搭建+Dubbo分布式服务框架 budong
- SpringBoot+Dubbo分布式SOA项目骨架搭建
- (十)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建ant-utils工具项目
- 搭建maven项目,并实现Dubbo分布式服务管理
- 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis
- 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis
- 构建 Zookeeper + Dubbo + Spring Boot 的分布式调用项目(二)