SpringCloud(3)---Eureka服務註冊與發現

yzf01發表於2021-09-09

Eureka服務註冊與發現

 

一、Eureka概述

 1、Eureka特點

  (1) Eureka是一個基於REST的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。

  (2) Eureka 主管服務註冊與發現,在微服務中,以後了這兩者,只需要使用服務的識別符號(==就是那個在每個服務的yml檔案中取得服務名稱==),

          就可以訪問到服務,不需要修改服務呼叫的配置檔案。

  (3) Eureka遵循AP原則(高可用,分割槽容錯性),因為使用了自我保護機制所以保證了高可用。

2、Eureka兩大元件

    兩大元件:Eureka Server(提供註冊服務)、 Eureka Client(JAVA客戶端,負責傳送心跳)

   系統中的其他微服務使用Eureka客戶端連線到Eureka服務端維持心跳連線(即註冊)。SpringCloud的其他模組可以透過Eureka Server 來發現系統中的微服務並加以呼叫

圖片描述

3、Eureka三大角色

            Eureka Server:提供服務註冊和發現

        Service Provider:服務提供方,將自身服務註冊到Eureka,從而使服務消費方能夠找到

     Service Consumer:服務消費方,從Eureka獲取註冊服務列表,從而能夠消費服務。

 圖片描述

 

二、Eureka Server服務註冊中心

    1、pom.xml

<!--註冊服務中心的jar要多個-server--&gt
            org.springframework.cloud
            spring-cloud-starter-eureka-server
  

    2、application.yml

圖片描述

server:  port: 7001eureka:  instance:    hostname: localhost  client:  #宣告自己是個服務端
    registerWithEureka: false    #false表示不向註冊中心註冊自己
    fetchRegistry: false         #false表示自己就是註冊中心,職責是維護例項,不參加檢索
    serviceUrl:                  #設定eureka server的互動地址,即對外暴露的地址
      defaultZone: {eureka.instance.hostname}:${server.port}/eureka/

圖片描述

    3、啟動類

圖片描述

//注意:要在類前加@EnableEurekaServer標註@SpringBootApplication@EnableEurekaServerpublic class Eureka7001_APP {    public static void main(String[] args) {
        SpringApplication.run(Eureka7001_APP.class,args);
    }
}

圖片描述

執行結果

圖片描述

 

三、Service Provider服務提供方

假設這個商品微服務。

   1、pom.xml

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

   2、application.yml

圖片描述

server:  port: 8001#指定註冊中心地址eureka:  client:    serviceUrl:      defaultZone: 服務的名稱spring:  application:    name: product-service

圖片描述

     3、啟動類

圖片描述

@SpringBootApplicationpublic class ProductApplication {    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class, args);
    }
}

圖片描述

    4、啟動後檢視服務註冊中心

 發現在服務註冊中心已經註冊了一個服務

圖片描述

    5、換埠號再啟動一個

圖片描述

   6、在看服務中心

 圖片描述

這就是搭建了商品微服務叢集。

 

四、Service Consumer服務消費方

      其實服務方和消費在配置時候沒有任何區別,它們都屬於Eureka Client元件。只是涉及服務間的呼叫,所以就把被調方稱為提供方,呼叫方稱為消費方。就好比訂單微服務,

訂單服務肯定需要去調商品微服務,所以這個訂單微服務對於商品來講可以理解服務提供方。一個微服務即可以是服務方也同時是提供方。

      1、pom.xml

    <!--這個對於每個不是註冊中心的微服務都要新增--&gt
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

     2、application.yml

圖片描述

server:  port: 9001#指定註冊中心地址eureka:  client:    serviceUrl:      defaultZone: 服務的名稱spring:  application:    name: order-service

圖片描述

    3、啟動類

圖片描述

@SpringBootApplicationpublic class OrderApplication {    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
}

圖片描述

4、檢視註冊中心

發現訂單微服務也成功註冊到註冊中心

圖片描述

 

至於訂單微服務如何調商品微服務呢,下一遍部落格在寫咯。

 

     我只是偶爾安靜下來,對過去的種種思忖一番。那些曾經的舊時光裡即便有過天真愚鈍,也不值得譴責。畢竟,往後的日子,還很長。不斷鼓勵自己,

 天一亮,又是嶄新的起點,又是未知的征程(上校5)

 

原文出處:https://www.cnblogs.com/qdhxhz/p/9357502.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2334/viewspace-2813386/,如需轉載,請註明出處,否則將追究法律責任。

相關文章