目錄
一、Eureka是什麼?
二、建構Eureka Server
三、建構Eureka Client
四、Eureka的高可用
一、Eureka是什麼?
Eureka是基于REST(Representational State Transfer)服務,主要以AWS雲服務為支撐,提供服務發現并實作負載均衡和故障轉移。我們稱此服務為Eureka服務。Eureka提供了Java用戶端元件,Eureka Client,友善與服務端的互動。用戶端内置了基于round-robin實作的簡單負載均衡。在Netflix,為Eureka提供更為複雜的負載均衡方案進行封裝,以實作高可用,它包括基于流量、資源使用率以及請求傳回狀态的權重負載均衡。
二、建構Eureka Server
- 建立工程,選擇Spring Initializr
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用 - 輸入GroupId,Artifact
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用 - 選擇Cloud Discovery--Eureka Server,選擇springboot的版本
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用 - 選擇項目存放位置,finish
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用 - 在啟動類中添加@EnableEurekaServer注解
-
application.yml中配置package cn.aaralyn.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }
# 設定端口号 server: port: 8761 eureka: client: # 該項目自身也需要注冊到eureka注冊中心,此配置可以關閉自身的注冊 register-with-eureka: false # 設定需要注冊到的位址 service-url: defaultZone: http://localhost:8761/eureka server: # 關閉自我保護,用戶端不線上,将不在服務端顯示 enable-self-preservation: false #設定應用名稱 spring: application: name: eureka-server
- 啟動項目,打開http://localhost:8761/eureka
三、建構Eureka Client
- 建立項目與建立服務項目類似,在第三步中由選擇Eureka Server改為Eureka Discovery,其他一緻
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用 - 在啟動類中添加@EnableEurekaClient注解
package cn.aaralyn.eurekaclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
- application.yml中配置
spring: application: name: eureka-client eureka: client: service-url: defaultZone: http://localhost:8761/eureka
- 先啟動服務端,再啟動用戶端,打開http://localhost:8761/eureka,可以看到服務以及注冊進來了
【springcloud】Eureka的服務端,用戶端及高可用目錄一、Eureka是什麼?二、建構Eureka Server三、建構Eureka Client四、Eureka的高可用
四、Eureka的高可用
Server之間:添加其他server的位址
Client:在每個client的配置檔案中,添加所有server的位址