云端服務發(fā)現(xiàn),一個基于 REST 的服務,用于定位服務,以實現(xiàn)云端中間層服務發(fā)現(xiàn)和故障轉移。
Eureka實行集群部署,更具高可用性。
創(chuàng)建Eureka Server工程
通過Intellij IDEA創(chuàng)建SpringBoot工程。New Project ->Spring Initializr -> 填寫name和group ->勾選Eureka Server ...完成之后,會發(fā)現(xiàn)pom.xml存在這樣的依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
編輯application.yml
這里將要搭建3個節(jié)點組成的服務中心

Registry Center.png
其實,這是一個默認行為,所以只需要為對方添加上有效的serviceUrl即可。具體配置如下:
---
spring:
application:
name: eureka-servers
profiles: peer1
server:
port: 8000
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:7999/eureka/,http://peer3:7998/eureka/
---
spring:
application:
name: eureka-servers
profiles: peer2
server:
port: 7999
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:8000/eureka/,http://peer3:7998/eureka/
---
spring:
application:
name: eureka-servers
profiles: peer3
server:
port: 7998
eureka:
instance:
hostname: peer3
client:
serviceUrl:
defaultZone: http://peer1:8000/eureka/,http://peer2:7999/eureka/
這里面需要修改/etc/hosts,添加peer1、2、3的解析。
運行
這里要運行3個實例。通過IDEA運行需要注意下面兩點:
- 反選Signle instance only,使得可以運行多個實例(對于同一個工程)
-
Active Profiles,可以指定啟動某個配置的實例
idea 配置.png
效果

結果.png
