环境准备
版本的选择
Finchley 与 Spring Boot 2.0.x, 兼容,不支持 Spring Boot 1.5.x.
Dalston 和 Edgware 与 Spring Boot 1.5.x, 兼容,不支持 Spring Boot 2.0.x.
Camden 是构建在 Spring Boot 1.4.x, 之上,但也支持 1.5.x.
Brixton 是构建在 Spring Boot 1.3.x, 之上,但也支持 1.4.x.
Angel 是构建在 Spring Boot 1.2.x, 之上,但也兼容 Spring Boot 1.3.x.
另外后缀的说明:
SR1:表示第一个稳定的版本(Service Release 1)
RC: 则表示候选的版本
不同的版本直接的差异性还是很大的
pom环境
父类主要配置文件
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
//springclould 的版本 f绝对是一个大版本
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
// spring boot 需要2.0以上的版本
<spring-boot.version>2.0.1.RELEASE</spring-boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
模块配置
<parent>
<groupId>com.yanyan</groupId>
<artifactId>spring-cloud</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../</relativePath> <!-- 指明父工程所在的路径 -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--eureka-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
yaml文件配置(多环境配置)
小扩展 :application.yml,bootstrap.yaml 两者同时存在的时候默认先加载后者 ,都可以使用
spring:
profiles:
active: dev
management:
endpoints:
web:
exposure:
include: ‘*’
endpoint:
health:
show-details: always
---
spring:
application:
name: instance1
profiles: dev
server:
port: 9100
eureka:
instance:
hostname: localhost
client:
service-url:
defaultZone: http://localhost:9000/eureka/
---
spring:
application:
name: instance2
profiles: pro
server:
port: 9000
eureka:
instance:
hostname: localhost
client:
service-url:
defaultZone: http://localhost:9100/eureka/
说明:最上面那个是共有的配置文件,可以将相同的配置放在上面,另外上面的配置表示选择使用dev的配置文件启动项目,当然启动时可以使用 ----spring.profiles.active=pro来覆盖预设的dev,
例如:在idea中可以使用 见图(设置后可以一个项目以不动的配置多次启动启动)
management这个配置是spring-boot-actuator中做系统监控使用的,在这里不同的版本配置各异,之前使用D版本,访问路径直接为项目后面加对面的路径,F版本后则为 host:port/actuator/...,通过这样的访问方式可以了解系统的一些情况,当然了spring整合了ui形成了一个独立的项目spring-boot-admin 更加好用
另外还需要说明的一点就是,双节点的时候,当只有一个系统存活的时候或出现报错,连接不上,这是正常的,当然了想要把它个屏蔽了也简单加入下面这个配置文件就可以了
#eureka:
# client:
# #向注册中心注册自己
# register-with-eureka: true
# server:
# # 是否将自己也注册进去
# enable-self-preservation: true
# #是否从eureka服务器获取注册信息
# fetch-registry: true
logging:
level:
com:
netflix:
eureka: OFF
discovery: OFF
然后一个eureka双节点就搭建成功了
需要把自己注册进去才会显示两个