環(huán)境準(zhǔn)備
版本的選擇
Finchley 與 Spring Boot 2.0.x, 兼容郁季,不支持 Spring Boot 1.5.x.
Dalston 和 Edgware 與 Spring Boot 1.5.x, 兼容,不支持 Spring Boot 2.0.x.
Camden 是構(gòu)建在 Spring Boot 1.4.x, 之上俩檬,但也支持 1.5.x.
Brixton 是構(gòu)建在 Spring Boot 1.3.x, 之上役拴,但也支持 1.4.x.
Angel 是構(gòu)建在 Spring Boot 1.2.x, 之上匈辱,但也兼容 Spring Boot 1.3.x.
另外后綴的說明:
SR1:表示第一個(gè)穩(wěn)定的版本(Service Release 1)
RC: 則表示候選的版本
不同的版本直接的差異性還是很大的
pom環(huán)境
父類主要配置文件
<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絕對(duì)是一個(gè)大版本
<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文件配置(多環(huán)境配置)
小擴(kuò)展 :application.yml寺擂,bootstrap.yaml 兩者同時(shí)存在的時(shí)候默認(rèn)先加載后者 ,都可以使用
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/
說明:最上面那個(gè)是共有的配置文件砾医,可以將相同的配置放在上面拿撩,另外上面的配置表示選擇使用dev的配置文件啟動(dòng)項(xiàng)目,當(dāng)然啟動(dòng)時(shí)可以使用 ----spring.profiles.active=pro來覆蓋預(yù)設(shè)的dev如蚜,
例如:在idea中可以使用 見圖(設(shè)置后可以一個(gè)項(xiàng)目以不動(dòng)的配置多次啟動(dòng)啟動(dòng))
management這個(gè)配置是spring-boot-actuator中做系統(tǒng)監(jiān)控使用的压恒,在這里不同的版本配置各異,之前使用D版本错邦,訪問路徑直接為項(xiàng)目后面加對(duì)面的路徑涎显,F(xiàn)版本后則為 host:port/actuator/...,通過這樣的訪問方式可以了解系統(tǒng)的一些情況兴猩,當(dāng)然了spring整合了ui形成了一個(gè)獨(dú)立的項(xiàng)目spring-boot-admin 更加好用
另外還需要說明的一點(diǎn)就是,雙節(jié)點(diǎn)的時(shí)候早歇,當(dāng)只有一個(gè)系統(tǒng)存活的時(shí)候或出現(xiàn)報(bào)錯(cuò)倾芝,連接不上讨勤,這是正常的,當(dāng)然了想要把它個(gè)屏蔽了也簡(jiǎn)單加入下面這個(gè)配置文件就可以了
#eureka:
# client:
# #向注冊(cè)中心注冊(cè)自己
# register-with-eureka: true
# server:
# # 是否將自己也注冊(cè)進(jìn)去
# enable-self-preservation: true
# #是否從eureka服務(wù)器獲取注冊(cè)信息
# fetch-registry: true
logging:
level:
com:
netflix:
eureka: OFF
discovery: OFF
然后一個(gè)eureka雙節(jié)點(diǎn)就搭建成功了
需要把自己注冊(cè)進(jìn)去才會(huì)顯示兩個(gè)