创建一个Eureka Server

创建一个子模块microserver-discovery-eureka,该模块属于microserver-spring-cloud(看第一篇)。

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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">
<parent>
<artifactId>microserver-spring-cloud</artifactId>
<groupId>com.tommy.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.tommy.springcloud</groupId>
<artifactId>microservice-discovery-eureka</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>microservice-discovery-eureka</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
</project>


注意:microserver-spring-cloud的pom.xml中增加springcloud依赖:
1
2
3
4
5
6
7
8
9
10
11
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>


应用启动类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.tommy.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* Hello world!
*
*/
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication
{
/**
* 注意:
* 1.启动之后访问的地址是:http://localhost:8761/,不是http://localhost:8761/eureka。
* 2.注意父pom.xml中spring-cloud-dependencies的版本,可能导致子工程中找不到对应版本。这里使用的版本Edgware.SR1是Ok的。
* @param args
*/
public static void main( String[] args )
{
SpringApplication.run(EurekaApplication.class,args);
}
}

通过@EnableEurekaServer注解启动一个服务注册中心

application.yml

1
2
3
4
5
6
7
8
9
10
11
server:
port: 8761
eureka:
client:
# 表示是否将自己注册到Eureka Server,默认为true.由于当前应用就是Eureka Server,故而设置为false.
register-with-eureka: false
# 表示是否从Eureka Server获取注册信息,默认为true.因为这是一个单点的Eureka Server,不需要同步其他的Eureka Server节点的数据,这里设置为false
fetch-registry: false
service-url:
# 设置Eureka Server的地址,查询服务和注册服务都需要依赖这个地址.默认是http://localhost:8761/eureka/;多个地址可使用','风格.
defaultZone: http://localhost:8761/eureka

运行EurekaApplication,在浏览器输入http://localhost:8761/,可以看到下面的页面,还没有任何服务。