springcloud包含的組件


Spring Cloud 很大的一部分是基於 Spring Boot 來實現,不可以不基於spring Boot實現
SpringCloud 主要框架:(共17個)

  服務發現——Netflix Eureka
  服務調用——Netflix Feign
  熔斷器——Netflix Hystrix
  服務網關——Netflix Zuul
  分布式配置——Spring Cloud Config
  消息總線 —— Spring Cloud Bus

SpringCloud 的版本:形式為版本名+里程碑號

Eureka 是 Netflix 開發的服務發現框架,SpringCloud 將它集成在自己的子項目spring-cloud-netflix 中,實現 SpringCloud 的服務發現功能。

Eureka 包含兩個組件:Eureka Server 和 Eureka Client。

      Eureka Server 提供服務注冊服務,各個節點啟動后,會在 Eureka Server 中進行注
    冊,這樣 EurekaServer 中的服務注冊表中將會存儲所有可用服務節點的信息,服務節點的信
    息可以在界面中直觀的看到。
    Eureka Client 是一個 java 客戶端,用於簡化與 Eureka Server 的交互,客戶端同時也就別
      一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。在應用啟動后,將會向 Eureka
    Server 發送心跳,默認周期為 30 秒,如果 Eureka Server 在多個心跳周期內沒有接收到某個節
    點的心跳,Eureka Server 將會從服務注冊表中把這個服務節點移除(默認 90 秒)。

      Eureka Server 之間通過復制的方式完成數據的同步,Eureka 還提供了客戶端緩存機制,
    即使所有的 Eureka Server 都掛掉,客戶端依然可以利用緩存中的信息消費其他服務的 API。
    綜上,Eureka 通過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活性和可伸
    縮性。

使用步驟:

(1)將其他微服務模塊添加依賴

(2)修改每個微服務的 application.yml,添加注冊 eureka 服務的配置

(3)修改每個服務類的啟動類,添加注解@EnableEurekaClient

Feign 實現服務間調用:

使用步驟:

(1)模塊添加依賴

(2)修改模塊的啟動類,添加注解@EnableDiscoveryClient@EnableFeignClients

(3)模塊創建 client 包,包下創建接口

  @FeignClient 類注解用於指定從哪個服務中調用功能 ,注意 里面的名稱與被調用的服務名保持一致,並且不能包含下划線。

  @RequestMapping方法注解用於對被調用的微服務進行地址映射。注意 @PathVariable注解一定要指定參數名稱,否則出錯。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM