天天看點

SpringCloud(一)版本選擇

Springboot版本

官網:https://spring.io/projects/spring-boot

在官網上 springboot已經更新到最新2.2.6

SpringCloud(一)版本選擇

Spingcloud版本

官網:https://spring.io/projects/spring-cloud

對于 SpringCloud 來說,版本更新是根據 字母 A-Z 來進行更新,現在已經到了最新的 H版穩定版

SpringCloud(一)版本選擇

在首頁中,可以看到相應版本對應的依賴

SpringCloud(一)版本選擇

使用最新 H版 必須要對應的 Boot版本 為 2.2.x

檢視 springboot 和 springcloud 版本依賴:https://start.spring.io/actuator/info

在這裡可以看到

SpringCloud(一)版本選擇

最新的 Hoxton.SR4 版本最高能使用 springboot版本為 2.3.0測試版

而官網支援的版本

SpringCloud(一)版本選擇

環境搭建

SpringCloud:Hoxton.SR4

SpringBoot:2.2.5.RELEASE

SpringCloud alibaba:2.2

Java:8

Maven:3.5以上

Mysql:5.7以上

Cloud元件

服務注冊中心

  • Eureka:現在已經停更,建議使用以下幾種代替(x)
  • Zookeeper:經典的服務注冊中心,ZooKeeper是一個分布式的,開放源碼的分布式應用程式協調服務。它是一個為分布式應用提供一緻性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
  • Consul:Consul是一個服務網格(微服務間的 TCP/IP,負責服務之間的網絡調用、限流、熔斷和監控)解決方案,它是一個一個分布式的,高度可用的系統,而且開發使用都很簡便。它提供了一個功能齊全的控制平面,主要特點是:服務發現、健康檢查、鍵值存儲、安全服務通信、多資料中心。
  • Nacos:Nacos 支援基于 DNS 和基于 RPC 的服務發現(可以作為springcloud的注冊中心)、動态配置服務(可以做配置中心)、動态 DNS 服務。

服務調用

  • Ribbon:Spring Cloud Ribbon是一個基于HTTP和TCP的用戶端負載均衡工具,它基于Netflix Ribbon實作。通過Spring Cloud的封裝,可以讓我們輕松地将面向服務的REST模版請求自動轉換成用戶端負載均衡的服務調用。
  • LoadBalancer:LoadBalancer 可以将來自用戶端的請求分發到不同的伺服器,通過将一系列的請求轉發到不同的伺服器可以提高伺服器的性能,并可以自動地尋找最優的伺服器轉發請求,這樣不僅提高了系統性能,同時達到了負載均衡的目的,滿足了使用者需求,是以 LoadBalancer 在應用場景中一般處于 web 伺服器的前端,用來均衡發到 web 伺服器的請求量,均衡負載,提高系統性能。
  • LoadBalancer:LoadBalancer 可以将來自用戶端的請求分發到不同的伺服器,通過将一系列的請求轉發到不同的伺服器可以提高伺服器的性能,并可以自動地尋找最優的伺服器轉發請求,這樣不僅提高了系統性能,同時達到了負載均衡的目的,滿足了使用者需求,是以 LoadBalancer 在應用場景中一般處于 web 伺服器的前端,用來均衡發到 web 伺服器的請求量,均衡負載,提高系統性能。

服務降級

  • Resilience4j: Resilience4j是受Netflix的Hysrix項目啟發,專門為Java 8 和函數式程式設計設計的輕量級容錯架構
  • Sentinel:Sentinel支援的熔斷降級次元更多,可對多種名額進行流控、熔斷,且提供了實時監控和控制台,功能更為強大,推薦使用

服務網關

  • GateWay:Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術開發的網關,Spring Cloud Gateway旨在為微服務架構提供一種簡單而有效的統一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud生态系中的網關,目标是替代ZUUL,其不僅提供統一的路由方式,并且基于Filter鍊的方式提供了網關基本的功能,例如:安全,監控/埋點,和限流等。

服務配置

  • Nacos:Nacos 支援基于 DNS 和基于 RPC 的服務發現(可以作為springcloud的注冊中心)、動态配置服務(可以做配置中心)、動态 DNS 服務。

服務總線

  • Nacos:Nacos 支援基于 DNS 和基于 RPC 的服務發現(可以作為springcloud的注冊中心)、動态配置服務(可以做配置中心)、動态 DNS 服務。