1. 程式人生 > >Spring Boot Eureka服務註冊簡單理解

Spring Boot Eureka服務註冊簡單理解

Spring Cloud Eureka (英 [,jʊ(ə)'riːkə])是 Spring Cloud Netflix 微 服 務 套 件 中 的 一 部 分, 它 基 於 Netflix Eureka 做 了 二 次 封 裝, 主 要 負 責 完 成 微 服 務 架 構 中 的 服 務 治 理 功 能.

 

Eureka Server是一個包含所有客戶端服務應用程式資訊的應用程式。 每個Micro服務都將註冊到Eureka伺服器,Eureka伺服器知道在每個埠和IP地址上執行的所有客戶端應用程式。 Eureka Server也稱為發現服務(Discovery Server

)。

構建Eureka Server

  • pom.xml倒入對應的依賴 --
 <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
  </dependency>
  • application.yml 檔案如下 --
spring:
   application:
       name: eureka-server
server:
   port:8761


eureka:
   client:
      registerWithEureka: false  // 例項在eureka上的註冊資訊是否被其他服務發現,預設為false,即不在註冊中心註冊自己
      fetchRegistry: false  // client端是否從eureka登錄檔中讀取登錄檔資訊,預設為true,30S同步一次
      serviceUrl:
        defaultZone: http://localhost:8761/eureka/
   instance:
      prefer-ip-address: true  // 猜測主機名時,優先顯示ip地址,預設為false
   server:
      enableSelfPreservation: false  // 此eureka伺服器中關閉自我保護模式.所謂自我保護模式是指,出現網路分割槽、eureka在短時間內丟失過多客戶端時,會進入自我保護模式,即一個服務長時間沒有傳送心跳,eureka也不會將其刪除。預設為true.
  • 在生成並下載專案檔案後,需要在啟動類新增  @EnableEurekaServer 註解  --  
@SpringBootApplication
@EnableEurekaServer
public class EurekaserverApplication {
   public static void main(String[] args) {
      SpringApplication.run(EurekaserverApplication.class, args);
   }
}

服務註冊

  • pom.xml
    匯入對應依賴  --
<dependency>
<groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
  • application.yml 檔案如下  --

spring:
   application:
      name: eurekaclient

   server:
      port: 8888
eureka:
  client:
    serviceUrl:
      defaultZone:  http://localhost:8761/eureka/  // 同server端一致
  instance:
    preferIpAddress: true
    instance-id: ${ipAddress.client}:${server.port}


ipAddress:
  client: 192.0.0.0
  • 啟動類新增 @EnableEurekaClient  註解  --

@SpringBootApplication
@EnableEurekaClient
public class EurekaclientApplication {
   public static void main(String[] args) {
      SpringApplication.run(EurekaclientApplication.class, args);
   }
}