SpringCloud之初會Eureka(四)

Git源碼: https://github.com/chenhang666/SpringCloud

1、Eureka是什麼

  • Eureka是Netflix的一個子模塊,也是核心模塊之一。
  • Eureka是一個基於REST的服務,用於定位服務,以實現雲端中間服務發現和故障轉移。
  • 服務註冊與發現對於微服務架構來說是非常重要的,有了服務發現與註冊,只需要使用服務的標識符,就可以訪問到服務,而不需要修改服務調用的配置文件了。
  • 功能類似於dubbo的註冊中心,比如Zookeeper。

2、Eureka基本架構

  • Spring Cloud封裝了Netflix公司的Eureke模塊來實現服務註冊和發現。
  • Eureka採用了C-S的設計架構,Eureka Server作爲服務註冊功能的服務器,它是服務註冊中心。
  • 系統中的其他微服務,使用Eureka的客戶端連接到Eureka Server並維持心跳連接。這樣系統的維護人員就可以通過Eureka Server來監控系統中各個微服務是否正常運行。SpringCloud 的一些其他模塊(比如Zuul)就可以通過Eureka Server來發現系統中的其他微服務,並執行相關的邏輯。

在這裏插入圖片描述
Eureka包含兩個組件:Eureka Server和Eureka Client

  • Eurekka Server提供服務註冊服務,各個節點啓動後,會在Eureka Server中進行註冊,這樣Eureka
    Server中的服務註冊表中將會存儲所有可用服務節點的信息,服務節點的信息可以在界面中直觀的看到。
  • Eureka Client是一個Java客戶端,用於簡化Eureka Server的交互,客戶端同時也具備一個內置的、使用輪詢負載算法的負載均衡器。在應用啓動後,將會向Eureka Server發送心跳(默認週期爲30秒)。如果Eureka Server在多個心跳週期內沒有接收到某個節點的心跳,Eureka Server將會從服務註冊表中把這個服務節點移除(默認90秒)

三大角色

  • Eureka Server 提供服務註冊和發現
  • Service Provider服務提供方將自身服務註冊到Eureka,從而使服務消費方能夠找到
  • Service Consumer服務消費方從Eureka獲取註冊服務列表,從而能後消費服務

3、搭建Eureka Server服務

  • 創建SpringBoot項目,導入依賴
<!--eureka-server服務端-->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
  • 創建application.yml,配置Euraka
    在這裏插入圖片描述
  • 增加Eureka Server註解
    在這裏插入圖片描述
  • 啓動項目,訪問localhost:7001,顯示如下圖即發佈成功
    在這裏插入圖片描述

4、微服務註冊進Eureka服務中心

  • 在服務端添加依賴
 <!--將微服務provider註冊進eureka-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
  • 在服務端的配置文件中增加以下配置
eureka:
  client:    #客戶端註冊進eureka服務列表內
    service-url:
      defaultZone: http://localhost:7001/eureka
  • 在啓動類上增加註解

在這裏插入圖片描述

  • 啓動項目,訪問Eureka Server,Application下存在服務項目即註冊服務成功

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章