摘要:負載均衡組件是一個負載均衡組件,它通常和配合使用。和配合,很容易做到負載均衡,將請求根據負載均衡策略分配到不同的服務實例中。和配合,在消費服務時能夠做到負載均衡。在默認的情況下,和相結合,能夠做到負載均衡智能路由。
2.2.1 簡介
Spring Cloud 是基于 Spring Boot 的。 Spring Boot 是由 Pivotal 團隊提供的全新 Web 框架, 它主要的特點就是簡化了開發和部署的過程,簡化了 Spring 復雜的配置和依賴管理,通過起 步依賴和內置 Serviet 容器能夠使開發者迅速搭起一個 Web 工程。
2.2.2 常用組件(1 )服務注冊和發現組件 Eureka
利用 Eureka 組件可以很輕松地實現服務的注冊和發現的功能。 Eureka 組件提供了服務的健 康監測,以及界面友好的 UI。通過 Eureka 組件提供的 UI, Eureka 組件可以讓開發人員隨時了 解服務單元的運行情況。另外 Spring Cloud 也支持 Consul 和 Zookeeper,用于注冊和發現服務。
(2 )熔斷組件 Hystrix
Hystrix 是一個熔斷組件,它除了有一些基本的熔斷器功能外,還能夠實現服務降級、服 務限流的功能。另外 Hystrix 提供了熔斷器的健康監測,以及熔斷器健康數據的 API 接口。 Hystrix Dashboard 組件提供了單個服務熔斷器的健康狀態數據的界面展示功能 , Hystrix Turbine 組件提供了多個服務的熔斷器的健康狀態數據的界面展示功能。
(3 )負載均衡組件 Ribbon
Ribbon 是一個負載均衡組件,它通常和 Eureka、 Zuul、 RestTemplate、 Feign 配合使用。 Ribbon 和 Zuul 配合,很容易做到負載均衡,將請求根據負載均衡策略分配到不同的服務實例 中。 Ribbon 和I RestTemplate、 Feign 配合,在消費服務時能夠做到負載均衡。
(4)路由網關 Zuul
路由網關Zuul 有智能路由和過濾的功能。內部服務的 API 接口通過Zuul 網關統一對外暴露, 內部服務的 API 接口不直接暴露,防止了內部服務敏感信息對外暴露。在默認的情況下, Zuul 和Ribbon 相結合,能夠做到負載均衡、 智能路由。 Zuul 的過濾功能是通過攔截請求來實現的, 可以 對一些用戶的角色和權限進行判斷,起到安全驗證的作用, 同時也可以用于輸山實時的請求曰志。 上述的 4 個組件都來自于 Netflix 的公司 , 統一稱為 Spring Cloud Netflix。
( 5) Spring Cloud Config
Spring Cloud Config 組件提供了配置文件統一管理的功能。Spring Cloud Config 包括 Server 端和 Client 端, Server 端讀取本地倉庫或者遠程倉庫的配置文件,所有的 Client 向 Server 讀 取配置信息,從而達到配置文件統一管理的目的。通常情況下, Spring Cloud Config 和 Spring Cloud Bus 相互配合刷新指定 Client 或所有 Client 的配置文件。
( 6) Spring Cloud Security
Spring Cloud Security 是對 Spring Security 組件的封裝, Spring Cloud Security 向服務單元 提供了用戶驗證和權限認證。一般來說,多帶帶在微服務系統中使用 Spring Cloud Security 是很 少見的, 一般它會配合 Spring Security 0Auth2 組件一起使用,通過搭建授權服務,驗證 Token 或者 JWT 這種形式對整個微服務系統進行安全驗證。
( 7) Spring Cloud Sleuth
Spring Cloud Sleuth 是一個分布式鏈路追蹤組件,它封裝了 Dapper、 Zipkin 和 Kibana 等組 件,通過它可以知道服務之間的相互依賴關系,并實時觀察鏈路的調用情況。
( 8) Spring Cloud Stream
Spring Cloud Stream 是 Spring Cloud 框架的數據流操作包,可以封裝 RabbitMq、ActiveMq、 Kafka、 Redis 等消息組件, 利用 Spring Cloud Stream 可以實現消息的接收和發送。
Spring Cloud Config:服務配置中心,將所有的服務的配置文件放到本地倉庫或者遠程倉庫,配置中心負責讀取倉庫的配置文件,其他服務向配置中心讀取配置。 Spring Cloud Config 使得服務的配置統一管理,并可以在不人為重啟服務的情況下進行配置 文件的刷新。
Spring Cloud Netflix:它是通過包裝了 Netflix 公司的微服務組件實現的,也是 Spring Cloud核心的核心組件,包括 Eureka、 Hystrix、 Zuul、 Archaius 等。
Eureka:服務注冊和發現組件。
Hystrix:熔斷器組件。 Hystrix 通過控制服務的 API 接口的熔斷來轉移故障,防止微 服務系統發生雪崩效應。另外,Hystrix 能夠起到服務限流和服務降級的作用。使用 Hystrix Dashboard 組件監控單個服務的熔斷器的狀態,使用Turbine 組件可以聚合多 個服務的熔斷器的狀態。
Zuul:智能路由網關組件。 Netflix Zuul 能夠起到智能路由和請求過濾的作用,是服務接口統一暴露的關鍵模塊,也是安全驗證、權限控制的一道門。
Feign: 聲明式遠程調度組件。
Ribbon: 負載均衡組件。
Archaius:配置管理 API 的組件, 一個基于 Java 的配置管理庫, 主要用于多配置的動 態獲取。
Spring Cloud Bus: 消息總線組件,常和 Spring Cloud Config 配合使用,用于動態刷 新服務的配置。
Spring Cloud Sleuth:服務鏈路追蹤組件,封裝了 Dapper、 Zipkin, Kibina 等組件,可以實時監控服務的鏈路調用情況。
Spring Cloud Data Flow:大數據操作組件, Spring Cloud Data Flow 是 SpringXD的替 代品,也是一個混合計算的模型,可以通過命令行的方式操作數據流。
Spring Cloud Security: 安全模塊組件,是對 Spring Security 的封裝,通常配合 0Auth2使用來保護微服務系統的安全。 口 Spring Cloud Consul:該組件是 Spring Cloud 對 Consul的封裝,和 Eureka 類似,它是 另一個服務注冊和發現組件。
Spring Cloud Zookeeper: 該組件是 Spring Cloud對Zookeeper 的封裝,和Eureka、Consul 類似,用于服務的注冊和發現。
Spring Cloud Stream:數據流操作組件,可以封裝 Redis、 RabbitMQ、 Kafka 等組件,實現發送和接收消息等。
Spring Cloud CLI:該組件是 Spring Cloud 對 Spring Boot CLI 的封裝,可以讓用戶以命令行方式快速運行和搭建容器。
Spring Cloud Task: 該組件基于 Spring Task,提供了任務調度和任務管理的功能。
Spring Cloud Connectors: 用于 Paas 云平臺連接到后端。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71207.html
摘要:微服務的設計原則軟件設計每一個版本都在變化,所以軟件設計應該是漸進式發展。在微服務設計時,一定要考慮清楚這三個難題,從而選擇合適的框架。目前比較流行的微服務框架有社區的公司的等。微服務應該具備的功能。 微服務的設計原則 軟件設計每一個版本都在變化,所以軟件設計應該是漸進式發展。 軟件從一開始就不應該被設計成微服務架構,微服務架構固然有優勢,但是它需要更多的資源,包括服務器資源、技術人員...
摘要:微服務的復雜度框架知識服務于服務通信服務與服務之間相互依賴。服務的部署可選用。指服務的可用性。微服務系統通常是一個系統,即同時滿足了可用性和分區容錯。兩階段提交,將事務分成兩部分能夠大大提高分布式事務成功的概率。 主要體現在如下方面。 微服務的復雜度(框架知識、服務于服務通信、服務與服務之間相互依賴)。 分布式事務(重點)。 服務的劃分(業務場景劃分邊界,最好無耦合,都能單獨運行和替...
摘要:口服務的負載均衡。服務的注冊與發現接口管理服務注冊是指向服務注冊中心注冊一個服務實例,服務提供者將自己的服務信息如服務名地址等告知服務注冊中心。服務注冊中心會提供服務的健康檢查方案,檢查被注冊的服務是否可用。服務降級的功能。 微服務具有以下的特點。 口 按照業務來劃分服務,單個服務代碼量小,業務單一,易于維護。 口 每個微服務都有自己獨立的基礎組件,例如數據庫、 緩存等,且運行在獨立...
摘要:單體架構簡介經典的層模型,即表示層業務邏輯層和數據訪問層。口數據訪問層用于操作數據庫,用戶在表示層會產生大量的數據,通過數據訪問層對數據庫進行讀寫操作。 1.1.1 單體架構簡介 經典的 3 層模型,即表示層、業務邏輯層和數據訪問層。 口 表示層: 用于直接和用戶交互,也稱為交互層,通常是網頁、 UI 等。 口 業務邏輯層:即業務邏輯處理層,例如用戶輸入的信息要經過業務邏輯層的處理...
摘要:熔斷機制為了防止雪崩效應事件的發生,分布式系統采用了熔斷機制。為了解決這一難題,微服務架構引入了熔斷機制。由于微服務系統是分布式系統,服務與服務之間沒有任何的禍合。 1.2.1 什么是微服務 按業務劃分為一個獨立運行的程序,即服務單元。 服務之間通過 HTTP 協議相互通信。 自動化部署。 可以用不同的編程語言。 可以用不同的存儲技術。 服務集中化管理。 微服務是一個分布式系統。 ...
閱讀 2231·2021-11-22 14:56
閱讀 9834·2021-09-08 10:45
閱讀 1966·2019-08-30 13:54
閱讀 2858·2019-08-29 16:54
閱讀 2003·2019-08-29 14:20
閱讀 1773·2019-08-29 12:25
閱讀 1851·2019-08-29 12:17
閱讀 1049·2019-08-23 18:29