1. 程式人生 > >【SpringCloud】03——Eureka服務註冊

【SpringCloud】03——Eureka服務註冊

1.什麼是Eureka?
Ereka相當於zookeeper,是服務註冊中心,當專案中微服務越來越多時,需要進行服務間呼叫,這時就需要將微服務都註冊進入Eureka,服務之間可以互相發現,然後才可以進行呼叫.
系統中的其他微服務,使用Eureka 客戶端連線到Eureka Server並維持心跳連線,這樣就可以通過Eureka server來監控系統中各個微服務是否執行,SpringCloud的一些其他模組就可以通過Eureka Server來發現系統中其他微服務,並執行相關邏輯。

Eureka 包含兩個元件,Eureka Server 和 Eureka Client.
Eureka Server 提供服務註冊服務,Eureka Client 就是我們各個微服務。如下是Eureka結構圖。

在這裡插入圖片描述
如何將服務註冊進Eureka?
1.Eureka伺服器端配置
1.1新建Eueka的springboot專案
1.2Pom座標

       <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

1.3修改yml 檔案

server:
  port: 7001       #啟動埠

eureka:
  instance:
    hostname: localhost   #eureka服務端的例項名稱
  client:
    register-with-eureka: false  #不向註冊中心註冊自己
    fetch-registry: false  #false 表示自己就是註冊中心,我的職責就是維護服務例項,並不需要去檢索服務
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/     #告訴客戶端Eureka地址,設定Eureka Server互動的地址查詢服務和註冊服務

1.4 新增啟動類
新增@EnableEurekaServer,說明自己是Eureka服務端

@SpringBootApplication
@EnableEurekaServer //服務端啟動類,接受其他服務註冊進來
public class EurekaServer7001_App {
    public static void main(String[] args){
       SpringApplication.run(EurekaServer7001_App.class,args);
    }
}

通過訪問 localhost:7001就可以進入Eureka 介面

2.Eureka 客戶端配置


2.1修改Pom檔案新增

     <!--把專案註冊進Eureka-->
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
       </dependency>

       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-config</artifactId>
       </dependency>

2.2修改yml 檔案新增

eureka:
  client:
    service-url:
         #客戶端註冊進eureka服務的地址,同eureka暴露給外部的地址
       defaultZone: http://localhost:7001/eureka/

  instance:
      #註冊到eureka後,status的名字(服務在eureka的唯一標誌)
      instance-id: ${spring.application.name}:${random.int}
      #訪問路徑可以顯示IP地址
      prefer-ip-address: true

2.3 啟動類新增@EnableEurekaClient註解,作為Eureka客戶端

@SpringBootApplication
@EnableEurekaClient   //可以把自己的註冊進入Eureka
public class DeptProvider8001_APP {
    public static void main(String[] args)
    {
        SpringApplication.run(DeptProvider8001_APP.class,args);
    }
}

總結:我們加入一個新的元件技術,需要做的操作包括修改pom ,yml ,以及在啟動類上添加註解.