概括而言,springcloud的五大組件包括Netflix Eurek,Netflix Ribbon,Netflix Hystrix,Netflix Zuul和Spring Cloud Config。五個組件分別對應(1)服務發現(2)客服端負載均衡(3)斷路器(4)服務網關和(5)分布式配置。各組件分工有別,協調統一。
下面就來具體說說五大組件具體功能。
Netflix Eurek是一個RESTful服務,它由Eureka伺服器和Eureka客戶端組成,前者用作服務註冊伺服器,後者是java客戶端,簡化與伺服器的交互,同時負載均衡。
Netflix Ribbon主要為客戶一側提供軟體負載均衡算法,客戶端組件包括連接超時、重試、重試算法等等,並帶有可插拔/定製的負載均衡組件策略,併集成一些功能,比如使用Archaius完成運行時配置。
斷路器Netflix Hystrix用來防止某個應用程式多次試圖執行一個操作,這樣不會浪費 CPU周期、或不等待故障修復而重複執行,它為系統增加了靈活和穩定,可以保護系統部件的健康狀態;斷路器也能檢測到是否已解決了故障,控制故障範圍,當故障解除後再允許應用程式重新嘗試調用操作。
Netflix Zuul與nginx比較相似,屬於api網關功能,可以概括為反向代理,但Netflix還為其新增了一些特性用於配合其他組件協調運行;而Spring Cloud Config主要負責配置管理,包括伺服器端和客戶端,由於Config是靜態的,它需要配合Spring Cloud Bus才能實現動態配置的更新。
以上就是springcloud五大組件的基本介紹。