SpringCloud的Eureka Server模塊
1. Eureka Server: 注冊中心, 提供服務的注冊和發現;
2. Service Provider: 服務提供方, 將自身服務注冊到Eureka Server;
3. Service Consumer: 服務消費方,從 Eureka Server 獲取注冊列表, 從而能夠調用相關服務;
腦補一下畫面,Eureka Server 就是那個居間橋梁,當然 Eureka在實踐中要使用集群,實現多活。
樣例步驟:
0. 新建一個SpringBoot項目;
1. pom.xml 引入SpringCloud 的 Eureka 組件依賴;
<!-- 引入SpringCloud依賴管理 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 引入SpringCloud Eureka依賴 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2. 啟動入口類增加 @EnableEurekaServer 注解
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
3. 配置文件如下:
修改hosts文件 /etc/hosts, 增加如下配置
127.0.0.1 eureka-server-01
127.0.0.1 eureka-server-02
127.0.0.1 eureka-server-03
單臺: application-dev.properties
spring.application.name=xts-eureka-server
server.port=9001
##
## 開發環境 Eureka-Server為單實例: 單服務中心
## 是否將自己注冊到EurekaServer上
eureka.client.register-with-eureka=false
## 是否從Eureka Server獲取注冊信息
eureka.client.fetch-registry=false
## 主機hostname
eureka.instance.hostname=eureka-server-01
## 設置與Eureka Server交互的地址,查詢服務和注冊服務都需要依賴這個地址
eureka.client.service-url.defaultZone=http://eureka-server-02:9001/eureka/
啟動:
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
DashBoard查看: http://eureka-server-01:9001/
多節點(3臺):
application-test1.properties
spring.application.name=xts-eureka-server
server.port=9001
eureka.instance.hostname=eureka-server-01
eureka.client.service-url.defaultZone=http://eureka-server-02:9002/eureka/,http://eureka-server-03:9003/eureka/
application-test2.properties
spring.application.name=xts-eureka-server server.port=9002 eureka.instance.hostname=eureka-server-02 eureka.client.service-url.defaultZone=http://eureka-server-01:9001/eureka/,http://eureka-server-03:9003/eureka/
application-test3.properties
spring.application.name=xts-eureka-server server.port=9003 eureka.instance.hostname=eureka-server-03 eureka.client.service-url.defaultZone=http://eureka-server-01:9001/eureka/,http://eureka-server-02:9002/eureka/
4. 啟動
打好jar包,然后分別執行:
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=test1
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=test2
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=test3
5. DashBoard 查看地址
http://eureka-server-01:9001/
http://eureka-server-02:9002/
http://eureka-server-03:9003/