首先,我们来看下项目的目录结构,一个没有内容的父级框架,各个微服务作为其的子项目,每个微服务承担相应的功能。
一、建立父结构
使用idea或者其他的软件平台新建一个**空的**maven项目,如果在建的过程中出现loading archetype list的等待的话,可以在file->setting->Build, Execution, Deployment->Build Tools->Maven->Importing中将默认的VM options for importer选项-Xmx512m改成-Xmx1024m,虽然这个问题并不会影响本项目,因为本项目均为建立空的maven项目。在父项目的pom.xml文件中添加依赖如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.40</version>
</dependency>
</dependencies>
</dependencyManagement>
< parent >标签是为了控制版本的依赖包统一,后面的fastjson也是如此,因此,子项目中就不需要填写依赖包的版本号,直接使用父项目的。下面的依赖项则是声明该pom所在的项目为父级项目。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
至此,父级结构就完成了。
二、注册中心服务的搭建
点击父项目的项目名,右键新建一个Module,新建一个空的maven项目即可,取名eureka(随意),当然也可以按默认的新建springboot方式新建。新建的空的maven项目只有结构,没有内容与配置文件,所以,一步步添加,这样也能更深理解。
1、pom.xml文件中增加依赖包如下,原有的东西无需改变
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
第一个依赖声明它是服务注册中心,第二个依赖基本上所有的微服务都需要有,其作用是声明本服务能被其他服务发现。
2、在java文件夹下新建一个包,包名为com.springcloud.eureka,在该包下新建一个类作为启动类,类名EurekaBootstrap,改造该类如下:
@SpringBootApplication
@EnableEurekaServer
public class EurekaBootstrap {
public static void main(String[] args) {
SpringApplication.run(EurekaBootstrap.class,args);
}
}
@SpringBootApplication注解声明其为一个springboot项目,@EnableEurekaServer注解启用其为服务注册中心。
3、配置文件
在resources文件夹下新建一个application.yml配置文件,习惯使用application.properties配置文件也是一样的,只是格式略有不同。在该文件中进行如下配置:
spring:
application:
name: service-eureka
server:
port: 8000
eureka:
client:
register-with-eureka: false #不作为客户端注册到注册中心
fetch-registry: false #设置为true时,可以启动,但报异常
# service-url:
# defaultzone: http://localhost:8000/eureka/ #进行高可用设置时,将register-with-eureka 设置为true,默认,更改端口即可
server:
enable-self-preservation: false #关闭自我保护
eviction-interval-timer-in-ms: 3000 #清理间隔(单位毫秒)
配置的内容依次为,注册中心的服务名为service-eureka,运行该服务的端口为8000,后面的是其属性配置,功能如注释,后面也会涉及到,届时详解。
到这里,注册中心就搭建完成了。运行这个项目,打开浏览器,输入localhost:8000,见证吧。