首先,我们来看下项目的目录结构,一个没有内容的父级框架,各个微服务作为其的子项目,每个微服务承担相应的功能。

springcloud在线创建_spring

一、建立父结构

使用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,见证吧。