java实现分布式项目搭建

本文介绍了Java实现分布式项目的步骤,包括理解分布式与集群的区别,搭建分布式项目的过程,如创建父类Maven项目,使用Dubbo发布服务,以及在Zookeeper上配置注册中心。详细阐述了每个步骤的关键操作,如配置文件、依赖管理和服务发布。
摘要由CSDN通过智能技术生成

1 分布式

 1.1 什么是分布式

  1. 分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。
  2. 这些连通的节点上部署了我们的节点,并且相互的操作会有协同。分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已,而实际上这些服务是通过背后的众多服务器组成的一个分布式系统,因此分布式系统看起来像是一个超级计算机一样。

1.2 分布式与集群的区别

  1. 集群是同一个系统部在不同的服务器上,例如一个登陆系统部在不同的服务器上.
  2. 分布式是不同的系统部在不同的服务器上,服务器之间相互调用.

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集

2 搭建分布式项目

准备工具:eclipse,装有CentOS7系统的VMwarm,zookeeper.......最重要的,一台三年高龄的老人机.

1 首先创建一个父类的maven项目,打包方式为pom.

在eclipse中创建一个父类maven项目,打包方式为pom.为什么要创建一个父类的maven项目呢?因为要使用这个maven项目进行各个jar包版本的管理,子类想要jar包直接跟父类要就可以. 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.itqf</groupId>
  <artifactId>sping-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <!-- 定义所有jar包的版本 -->
	  <properties>
	    <junit.version>4.12</junit.version>
		<spring.version>4.2.4.RELEASE</spring.version>
		<mybatis.version>3.2.8</mybatis.version>
		<mybatis.spring.version>1.2.2</mybatis.spring.version>
		<mybatis.paginator.version>1.2.15</mybatis.paginator.version>
		<mysql.version>5.1.32</mysql.version>
		<slf4j.version>1.6.4</slf4j.version>
		<jackson.version>2.4.2</jackson.version>
		<druid.version>1.0.9</druid.version>
		<httpclient.version>4.3.5</httpclient.version>
		<jstl.version>1.2</jstl.version>
		<servlet-api.version>2.5</servlet-api.version>
		<jsp-api.version>2.0</jsp-api.version>
		<joda-time.version>2.5</joda-time.version>
		<commons-lang3.version>3.3.2</commons-lang3.version>
		<commons-io.version>1.3.2</commons-io.version>
		<commons-net.version>3.3</commons-net.version>
		<pagehelper.version>3.4.2-fix</pagehelper.version>
		<jsqlparser.version>0.9.1</jsqlparser.version>
		<commons-fileupload.version>1.3.1</commons-fileupload.version>
		<jedis.version>2.7.2</jedis.version>
		<solrj.version>4.10.3</solrj.version>
		<dubbo.version>2.5.3</dubbo.version>
		<zookeeper.version>3.4.7</zookeeper.version>
		<zkclient.version>0.1</zkclient.version>
		<activemq.version>5.11.2</activemq.version>
		<freemarker.version>2.3.23</freemarker.version>
		<quartz.version>2.2.2</quartz.version>
	  </properties>
	  <!-- 管理所有项目中用到的jar包,并不做真正的依赖 -->
	  <dependencyManagement>
	      <dependencies>
			<!-- 时间操作组件 -->
			<dependency>
				<groupId>joda-time</groupId>
复制代码

2 创建一个maven的聚合工程.

2.1 创建maven聚合工程,继承父工程.

聚合工程:可以将项目中的controller层,view层等都独立成一个工程,最终运行的时候整合到一起运行.

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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.itqf</groupId>
    <artifactId>sping-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.itqf</groupId>
  <artifactId>sping-manager</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <dependencies>
      <dependency>
          <groupId>com.itqf</groupId>
          <artifactId>sping-common</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
  </dependencies>
  
  <build>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<configuration>
					<port>8083</port>
					<path>/</path>
				</configuration>
			</plugin>
		</plugins>
 </build>
  
  <modules>
  	<module>sping-manager-pojo</module>
  	<module>sping-manager-interface</module>
  	<module>sping-manager-service</module>
  	<module>sping-manager-mapper</module>
  </modules>
</project>
复制代码

2.2 在聚合工程中创建maven Module,命名sping-manager-pojo(实体类层).

  1. pojo是一个普通的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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.itqf</groupId>
    <artifactId>sping-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sping-manager-pojo</artifactId>
</project>
复制代码

2.3 在聚合工程中创建maven Module,命名sping-manager-mapper(dao层).

  • 在pom.xml文件中依赖pojo.因为mapper层的方法返回的是一个实体类对象的话,那么需要用到pojo.
  • 导入依赖jar包.
    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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值