Dubbo 实践

构建基于 Dubbo 的微服务项目实例

项目准备

创建 Maven 项目

创建父项目

  1. 创建工作空间
1
$ mkdir mon
  1. 创建项目
1
2
$ cd mon
$ mvn archetype:generate -DgroupId=xyz.yamdestiny -DartifactId=mon -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  1. 删除多余文件、修改项目打包方式jar修改为pom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ cd mon
$ rm -rf src/
$ vim 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>xyz.yamdestiny</groupId>
5 <artifactId>mon</artifactId>
6 <packaging>pom</packaging>
7 <version>1.0-SNAPSHOT</version>
8 <name>mon</name>
9 <url>http://maven.apache.org</url>
10 <dependencies>
11 <dependency>
12 <groupId>junit</groupId>
13 <artifactId>junit</artifactId>
14 <version>3.8.1</version>
15 <scope>test</scope>
16 </dependency>
17 </dependencies>
18 </project>

创建子项目(模块项目)

1
2
3
4
$ mvn archetype:generate -DgroupId=xyz.yamdestiny -DartifactId=mon-config -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
$ mvn archetype:generate -DgroupId=xyz.yamdestiny -DartifactId=mon-common -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
$ mvn archetype:generate -DgroupId=xyz.yamdestiny -DartifactId=mon-modules -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
$ mvn archetype:generate -DgroupId=xyz.yamdestiny -DartifactId=mon-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

如子项目还需要拆分,即如第 3 步中将打包方式从 jar 修改为 pom,再将命令的参数 -DartifactId= 修改,再到对应目录下执行命令即可

pom.xml 的修改可用命令简化操作,如 sed 's/\<packaging\>jar\<\/packaging\>/\<packaging\>pom\<\/packaging\>/g' pom.xml > pomTemp.xml && mv pomTemp.xml pom.xml

Eclipse 引入项目

引入依赖