@TOC
什麼是Eureka
Eureka是Spring Cloud Netflix微服務套件中的一部分。
Eureka分為服務端和用戶端。
- Eureka服務端也被稱為服務注冊中心。用于提供服務注冊、發現功能。
- Eureka用戶端被服務提供者和服務消費者內建,實作了服務心跳維持、服務查詢等功能。
啟動Eureka服務中心實戰
完整代碼參考
- 引入Eureka依賴;
- 使用注解@EnableEurekaServer啟動注冊中心;
- 關閉服務注冊中心的用戶端功能。
ps:因為注冊中心會把自己也當成一個服務,并向注冊中心注冊。但是由于他自己又還沒有啟動完全,是以服務注冊會失敗,進而又影響他的繼續啟動,陷入死循環;是以需要關閉注冊中心的用戶端功能,即禁止他去注冊中心注冊。
引入Eureka依賴
在pom檔案加入以下依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
ps:這裡沒有指定版本,是因為使用spring-cloud-dependencies,版本号Greenwich.M3,讀者如果沒有引用spring-cloud-dependencies的話,可以自行給Eureka依賴加上版本号2.1.0.M3
使用注解@EnableEurekaServer啟動注冊中心;
在SpringBoot的啟動類中加入注解
package com.markey.test.eurekatest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekatestApplication {
public static void main(String[] args) {
SpringApplication.run(EurekatestApplication.class, args);
}
}
關閉服務注冊中心的用戶端功能
在SpringBoot的配置檔案中增加以下配置項
# 禁止服務發現
eureka.client.register-with-eureka=false
#禁止服務檢索
eureka.client.fetch-registry=false
啟動服務
運作SpringBoot,如果正常啟動成功的話 ,可以通過浏覽器通路注冊中心。
注冊中心啟動成功,監聽端口号為8080
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9kkaNp3Z65UMJRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zROBlLzUjMyUzMxYTM5AjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
通路服務注冊中心